Skip to main content
POST/v1/tarot/spread/three-card

Three-Card Spread

Past / Present / Future tarot spread: draws 3 unique cards, one for each position. The positions are past (what led here), present (current situation), future (where this leads). Each position includes the card data, its orientation, the position meaning, and the active interpretation for that orientation.

Request parameters​

allow_reversedoptional
boolean
If true, each card has a 50% chance of appearing reversed.
questionoptional
string | null
Optional question or intention for the reading.

Response fields​

success
boolean
True if the request succeeded
message
string
Human-readable status message
data
object
data.spread_type
string
Spread type: 'three_card' or 'celtic_cross'
data.positions
array[object]
data.positions[].card
object
data.positions[].card.id
string
Unique slug identifier e.g. 'the-fool'
data.positions[].card.name
string
Full card name e.g. 'The Fool'
data.positions[].card.arcana_type
string
'major' or 'minor'
data.positions[].card.suit
string | null
Suit for minor arcana: wands, cups, swords, pentacles. Null for major arcana.
data.positions[].card.number
integer
Card number. Major arcana: 0-21. Minor arcana: 1=Ace, 11=Page, 12=Knight, 13=Queen, 14=King.
data.positions[].card.element
string
Elemental correspondence: fire, water, air, earth, spirit
data.positions[].card.astrology_correspondence
string
Astrological planet or sign correspondence
data.positions[].card.keywords_upright
array[string]
Upright keywords
data.positions[].card.keywords_reversed
array[string]
Reversed keywords
data.positions[].card.upright_meaning
string
Full upright interpretation
data.positions[].card.reversed_meaning
string
Full reversed interpretation
data.positions[].card.yes_no
string
Yes/No polarity: 'yes', 'no', or 'maybe'
data.positions[].card.description
string
Visual description of the card imagery
data.positions[].is_reversed
boolean
True if the card was drawn in reversed orientation
data.positions[].position
string | null
Spread position name e.g. 'past', 'present', 'outcome'
data.positions[].position_meaning
string | null
What this spread position represents
data.positions[].active_meaning
string
The meaning to apply — upright_meaning when is_reversed=False, reversed_meaning when True
data.positions[].active_keywords
array[string]
Active keywords for this orientation
data.question
string | null
The question posed, if provided

Errors​

Invalid API key format.
API key is missing. Include it in the Authorization header as 'Bearer YOUR_KEY'.
The provided API key was not found. Verify the key in your Asterwise dashboard.
This API key has been revoked.
Too many requests per minute. Please slow down.
Something went wrong on our end. Please try again, or contact [email protected] if the problem persists. Include your request_id when contacting support.
Too many requests from this IP address. Please slow down.
Monthly API call limit reached. Upgrade your plan to continue.
Request body exceeds maximum allowed size of 64KB.
The requested resource was not found at this endpoint. Verify the URL path and resource identifier.
Your subscription has expired. Please renew at asterwise.com/dashboard to continue.
The request couldn't be processed. See the 'details' field for specific field-level issues.