---
title: "Tarot Spread Reading"
method: POST
path: "/interpret/tarot"
tags: ["AI Interpretations"]
---

# Tarot Spread Reading

`POST /interpret/tarot`

AI reading of a tarot, Marseille or Lenormand spread: each position read in context, then a synthesis of the whole spread and one piece of advice. Takes card slugs or the drawn array of any draw response. Multi-language.

## Query parameters

- `lang` 'uk' | 'en' | 'de' | 'ru' | 'pl' | 'es' | 'pt' | 'fr' | 'it' | 'nl' | 'cs' | 'ro' | 'hu' | 'el' | 'tr' | 'ar' | 'hi' | 'ja' | 'ko' | 'vi' | 'id'
- `fields` string
- `precision` integer

## Headers

- `Accept-Language` 'uk' | 'en' | 'de' | 'ru' | 'pl' | 'es' | 'pt' | 'fr' | 'it' | 'nl' | 'cs' | 'ro' | 'hu' | 'el' | 'tr' | 'ar' | 'hi' | 'ja' | 'ko' | 'vi' | 'id'
- `X-Provider` 'openai' | 'anthropic' | 'google' | 'groq' | 'mistral' | 'openrouter' | 'deepseek' | 'together'
- `X-Provider-Key` string
- `X-Provider-Model` string

## Request body

- InterpretTarot
  - `deck` 'rider-waite' | 'marseille' | 'lenormand'
  - `spread` string
  - `cards` union[], required
    - union
      - string
      - object
        - `slug` string, required
        - `reversed` boolean
      - object
        - `card` object, required
          - `slug` string, required
        - `reversed` boolean
  - `question` string
  - `language` 'uk' | 'en' | 'de' | 'pl' | 'es' | 'pt' | 'fr' | 'it' | 'nl' | 'cs' | 'ro' | 'hu' | 'el' | 'tr' | 'ar' | 'hi' | 'ja' | 'ko' | 'vi' | 'id' | 'ru'
  - `art` string — Card art set for the images in the answer. GET /v1/tarot/decks lists them.

## Response `200`

Successful calculation

- object
  - `ok` boolean
  - `data` object
    - `deck` string, nullable
    - `spread` object, nullable
      - `slug` string, nullable
      - `name` string, nullable
    - `question` string, nullable
    - `positions` object[], nullable
      - `index` number, nullable
      - `position` string, nullable
      - `positionMeaning` string, nullable
      - `card` object, nullable
        - `slug` string, nullable
        - `name` string, nullable
      - `reversed` boolean, nullable
      - `reading` string, nullable
    - `synthesis` string, nullable
    - `advice` string, nullable
    - `disclaimer` string, nullable
    - `model` string, nullable
    - `language` string, nullable

## Other responses

- `400` — Validation error
- `401` — Missing or invalid API key

## Changes

- **2026-10-06** `8a54b26dfec8` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/astroway/apis/astroway-calculation-api/changes/interpret/tarot/post.md)

---

[API](https://skmtc.dev/astroway/apis/astroway-calculation-api.md) · [All operations](https://skmtc.dev/astroway/apis/astroway-calculation-api/llms.txt) · [OpenAPI document](https://skmtc.dev/astroway/apis/astroway-calculation-api/revisions/da6d49943f9e?raw)
