Skip to main content
POST/v1/tarot/spread/celtic-cross

Celtic Cross Spread

Full 10-card Celtic Cross spread — traditional ten-position tarot spread. Positions: present, challenge, root, past, possible outcome, near future, self, external influences, hopes and fears, final outcome. Returns each card with its spread position, position meaning, and active interpretation for the drawn 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​

Missing or invalid API key.
Upstream ephemeris service error.
Reserved; product endpoints are not feature-gated by plan (quota differs by tier).
Unexpected server error.
Too many requests in a short window.
Request body exceeds the size limit.
Referenced resource was not found.
Request body failed schema validation.