DreamThreads Dream interpretation API

Generate a tentative, context-aware dream reflection with a factor trace and provenance.

Operations 1

POST /interpret Generate a context-aware dream interpretation #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/dreamthreads-dream-interpretation-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

dreamthreads-dream-interpretation-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: DreamThreads Dream interpretation API
  version: 1.1.0
  summary: Context-aware dream analysis and structured dream parsing
  description: A context-aware dream interpretation and structured dream parsing API. Outputs are reflective—not diagnostic, predictive, or a substitute for professional care.
  termsOfService: https://mydreamthreads.xyz/terms
  license:
    name: Proprietary; use subject to DreamThreads terms
    url: https://mydreamthreads.xyz/terms
  contact:
    name: DreamThreads API
    email: rahim@mydreamthreads.xyz
    url: https://mydreamthreads.xyz/dream-interpretation-api
  x-logo:
    url: https://mydreamthreads.xyz/icon.svg
    backgroundColor: '#11111c'
    altText: DreamThreads crescent moon
servers:
- url: https://mydreamthreads.xyz/api/v1/dreamgraph
  description: Production
security:
- bearerAuth: []
tags:
- name: Dream interpretation
  description: Generate a tentative, context-aware dream reflection with a factor trace and provenance.
paths:
  /interpret:
    post:
      tags:
      - Dream interpretation
      operationId: interpretDream
      summary: Generate a context-aware dream interpretation
      description: Requires a reviewed DreamThreads partner bearer key. Send one UTF-8 dream narrative of 1–6,000 characters and, when available, a short interpretive lens plus waking-life or physiological context. Use this endpoint only when a user wants a tentative reflection; use parseDream when structured extraction is sufficient. The response contains the reflection, symbols, an open question, a factor-level reason trace, provenance, diagnostics, timing, and an attributed DreamThreads deep link. Output is reflective—not diagnostic, predictive, or a fixed statement of meaning.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/InterpretRequest'
            example:
              text: I watched a snake in my garden. I felt peaceful.
              waking_context: I recently started caring for a garden.
      responses:
        '200':
          description: Interpretation completed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InterpretResponse'
              example:
                data:
                  interpretation:
                    essence: The dream may be holding change and attention together without treating either as a threat.
                    symbols:
                    - symbol: snake
                      note: Because you felt peaceful, the snake may point toward alertness or change rather than danger.
                    reading: 'The garden places the image in something you actively tend. Your calm response matters: it weakens a simple threat reading. The dream may be exploring how you relate to a change that asks for attention without requiring panic.'
                    question: What change are you willing to observe before deciding what it means?
                    reasonTrace:
                    - factor: emotion
                      value: peaceful
                      effect: weakens threat-first readings
                    provenance: []
                    dreamgraphVersion: dreamgraph-v0.1.0
                    parserVersion: dream-parser-rules-v1.0.0
                    engineVersion: dreamgraph-interpretation-v1
                  diagnostic:
                    unsupportedCount: 0
                  timing:
                    parserLatencyMs: 2
                    totalLatencyMs: 680
                  attribution:
                    provider: DreamThreads
                    deep_link: https://mydreamthreads.xyz/?utm_source=partner&utm_medium=api
                request_id: partner-request-123
                version: v1
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '413':
          $ref: '#/components/responses/PayloadTooLarge'
        '429':
          $ref: '#/components/responses/RateLimited'
        '502':
          $ref: '#/components/responses/UpstreamFailure'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
components:
  responses:
    BadRequest:
      description: The JSON body or dream input is invalid.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/invalid_dream
            title: DreamThreads API request failed
            status: 400
            detail: Dream text must contain 1-6000 characters.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: invalid_dream
              message: Dream text must contain 1-6000 characters.
            request_id: example-request-123
            version: v1
    RateLimited:
      description: The active client or partner request quota is exhausted.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/rate_limit_exceeded
            title: DreamThreads API request failed
            status: 429
            detail: The active request quota is exhausted.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: rate_limit_exceeded
              message: The active request quota is exhausted.
            request_id: example-request-123
            version: v1
    UpstreamFailure:
      description: The interpretation model or supporting upstream service failed.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/interpretation_failed
            title: DreamThreads API request failed
            status: 502
            detail: Interpretation failed.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: interpretation_failed
              message: Interpretation failed.
            request_id: example-request-123
            version: v1
    PayloadTooLarge:
      description: The HTTP request body exceeds the service limit.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/payload_too_large
            title: DreamThreads API request failed
            status: 413
            detail: Request payload is too large.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: payload_too_large
              message: Request payload is too large.
            request_id: example-request-123
            version: v1
    Unauthorized:
      description: The partner key is missing, invalid, or inactive.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/invalid_api_key
            title: DreamThreads API request failed
            status: 401
            detail: A valid DreamThreads API key is required.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: invalid_api_key
              message: A valid DreamThreads API key is required.
            request_id: example-request-123
            version: v1
    ServiceUnavailable:
      description: The requested DreamGraph capability is temporarily unavailable or disabled.
      content:
        application/problem+json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            type: https://mydreamthreads.xyz/problems/feature_disabled
            title: DreamThreads API request failed
            status: 503
            detail: DreamGraph external API is not enabled.
            instance: https://mydreamthreads.xyz/problems/requests/example-request-123
            error:
              code: feature_disabled
              message: DreamGraph external API is not enabled.
            request_id: example-request-123
            version: v1
  schemas:
    InterpretRequest:
      type: object
      description: Inputs for a context-aware, tentative dream reflection.
      additionalProperties: false
      required:
      - text
      properties:
        text:
          type: string
          minLength: 1
          maxLength: 6000
          description: Dream text. Keep the key server-side and obtain appropriate user consent before transmitting personal content.
        lens:
          type: string
          maxLength: 80
          description: Optional interpretive emphasis, such as emotional processing or recurring patterns.
          example: emotional processing
        waking_context:
          type: string
          maxLength: 2000
          description: Optional waking-life context supplied by the dreamer; omit rather than infer it.
          example: I recently started caring for a garden.
        physiological_context:
          type: string
          maxLength: 1000
          description: Optional sleep, health, medication, or physical context explicitly supplied by the dreamer.
          example: I woke briefly before the dream.
    InterpretResponse:
      type: object
      description: Standard success envelope for a completed context-aware reflection.
      additionalProperties: false
      required:
      - data
      - request_id
      - version
      properties:
        data:
          type: object
          description: Interpretation result, diagnostics, latency, and required attribution.
          additionalProperties: false
          required:
          - interpretation
          - diagnostic
          - timing
          - attribution
          properties:
            interpretation:
              $ref: '#/components/schemas/Interpretation'
            diagnostic:
              type: object
              additionalProperties: true
              description: Quality diagnostics, including unsupported-assertion counts when available.
            timing:
              type: object
              additionalProperties: true
              description: Parser and end-to-end latency measurements in milliseconds.
            attribution:
              type: object
              description: Attribution that integrations must preserve.
              additionalProperties: false
              required:
              - provider
              - deep_link
              properties:
                provider:
                  type: string
                  const: DreamThreads
                  description: Required provider credit.
                  example: DreamThreads
                deep_link:
                  type: string
                  format: uri
                  description: Request-attributed DreamThreads return link.
                  example: https://mydreamthreads.xyz/?utm_source=partner&utm_medium=api
        request_id:
          type: string
          description: Request correlation identifier.
          example: partner-request-123
        version:
          type: string
          description: DreamThreads API envelope version.
          example: v1
    Interpretation:
      type: object
      description: Tentative reflection and transparent factors used to produce it.
      required:
      - essence
      - symbols
      - reading
      - question
      - reasonTrace
      - provenance
      properties:
        essence:
          type: string
          description: One-sentence tentative synthesis, written with uncertainty rather than certainty.
          example: The dream may be holding change and attention together without treating either as a threat.
        symbols:
          type: array
          description: Context-qualified observations about prominent dream elements.
          items:
            type: object
            additionalProperties: false
            required:
            - symbol
            - note
            properties:
              symbol:
                type: string
                description: Dream element as it appeared in the narrative.
                example: snake
              note:
                type: string
                description: Tentative note qualified by the dream's context and emotion.
                example: Because you felt peaceful, the snake may point toward alertness or change rather than danger.
        reading:
          type: string
          description: Longer reflective synthesis grounded in the supplied narrative and context.
          example: Your calm response weakens a simple threat reading and may invite attention before judgment.
        question:
          type: string
          description: Open-ended reflection question; never a diagnosis or prediction.
          example: What change are you willing to observe before deciding what it means?
        reasonTrace:
          type: array
          description: Factors that materially changed or constrained the reading.
          items:
            type: object
            additionalProperties: true
            description: One factor, its observed value, and its effect on the reading.
        provenance:
          type: array
          description: Reviewed source or DreamGraph claim references used in the response.
          items:
            type: object
            additionalProperties: true
            description: Typed provenance record for a supporting claim.
        dreamgraphVersion:
          type: string
          description: DreamGraph knowledge version used for this response.
          example: dreamgraph-v0.1.0
        parserVersion:
          type: string
          description: Structured parser version used for this response.
          example: dream-parser-rules-v1.0.0
        engineVersion:
          type: string
          description: Interpretation engine version used for this response.
          example: dreamgraph-interpretation-v1
    Error:
      type: object
      description: RFC 9457 Problem Details response with backward-compatible DreamThreads error fields.
      additionalProperties: false
      required:
      - type
      - title
      - status
      - detail
      - instance
      - error
      - request_id
      - version
      properties:
        type:
          type: string
          format: uri
          description: Stable URI identifying the machine-readable problem type.
          example: https://mydreamthreads.xyz/problems/invalid-dream
        title:
          type: string
          description: Short, human-readable summary of the problem class.
          example: DreamThreads API request failed
        status:
          type: integer
          format: int32
          minimum: 400
          maximum: 599
          description: HTTP status code returned for this occurrence.
          example: 400
        detail:
          type: string
          description: Human-readable explanation specific to this occurrence.
          example: Dream text must contain 1-6000 characters.
        instance:
          type: string
          format: uri
          description: Request-specific problem occurrence identifier.
          example: https://mydreamthreads.xyz/problems/requests/example-request-123
        error:
          type: object
          description: Backward-compatible DreamThreads error object.
          additionalProperties: false
          required:
          - code
          - message
          properties:
            code:
              type: string
              description: Stable machine-readable error code.
              example: invalid_dream
            message:
              type: string
              description: Human-readable error message.
              example: Dream text must contain 1-6000 characters.
        request_id:
          type: string
          description: Correlation identifier echoed from X-Request-ID or generated by DreamThreads.
          example: example-request-123
        version:
          type: string
          description: DreamThreads API envelope version.
          example: v1
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: DreamThreads partner API key
externalDocs:
  description: Dream interpretation API guide and access request
  url: https://mydreamthreads.xyz/dream-interpretation-api