Skip to main content
POST
Tarot draw (no interpretation)

Authorizations

Authorization
string
header
required

Use the raw API key as the Bearer token, or send X-API-Key instead.

Body

application/json
spread
enum<string>
required
Available options:
single,
three-card,
celtic-cross
draw_id
string

Opaque seed for the shuffle: send a fresh random value per reading (or omit it and the server generates one), never a user identifier or a fixed string. The same draw_id (and picks) always returns the same cards; a retry is charged again unless it reuses an Idempotency-Key. No leading or trailing spaces. The caller controls the seed, so this is a repeatable draw, not a provably random one.

Required string length: 1 - 80
Pattern: ^\S(?:[\s\S]*\S)?$
picks
integer[]

three-card only, and only with draw_id: three distinct positions picked from a fan of 12 face-down cards, in pick order (past, present, future). Defaults to [0, 1, 2].

Required array length: 3 elements
Required range: 0 <= x <= 11
locale
string

Language by primary subtag (th or en, e.g. th-TH). Anything else falls back to Accept-Language, then en.

Required string length: 2 - 24

Response

Drawn cards

draw_id
string
required
spread
enum<string>
required
Available options:
single,
three-card,
celtic-cross
locale
enum<string>
required
Available options:
th,
en
cards
object[]
required
content_origin
enum<string>
required
Available options:
editorial
table_version
string
required
disclaimer
string
required
position_labels_version
string
required

Version of the position-label table; table_version is the deck text.