> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sigmora.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Capabilities and prices

> What this deployment can serve, and what it costs. The live catalogue with current prices, plus this caller’s credit balance. Prices are read from the same table the charge is taken from, so a quote and an invoice cannot disagree. Free: reading the catalogue is never billed.



## OpenAPI

````yaml /openapi.json get /v1/capabilities
openapi: 3.1.0
info:
  title: Sigmora API
  version: 1.0.0
  description: >-
    The priced, versioned public API. Every call authenticates with a workspace
    API key (`Authorization: Bearer sk_live_…`), names the project it files its
    output under, and reports what it cost. `GET /v1/capabilities` answers what
    this deployment can serve right now and at what price; anything it reports
    as unavailable answers 503 `capability_unavailable` rather than 404.
servers:
  - url: https://api.sigmora.org
security:
  - bearerAuth: []
tags:
  - name: Meta
    description: What this deployment serves, what it costs, and what you have spent.
  - name: Projects
    description: The container every capability files its output under.
  - name: Jobs
    description: Where every asynchronous capability is collected, whatever produced it.
  - name: Text
    description: Scripts, research, articles, translation and question sets.
  - name: Video
    description: Narrated renders, footage edits, shorts and moment selection.
  - name: 3D
    description: Animated 3D renders from a description or a photograph.
  - name: Image
    description: Thumbnails, sized for the platform they are posted to.
  - name: Audio
    description: Generated music.
  - name: Themes
    description: The canonical content taxonomy, and the niche profiles built on it.
  - name: Signals
    description: Evidence-backed trends and scored viral content.
  - name: Discovery
    description: Compiled watch plans, their runs, and source freshness.
  - name: Autopilot
    description: The durable trend-to-distribution workflow and its checkpoints.
  - name: Campaigns
    description: Distribution records shared by the API, the dashboard and autopilot.
  - name: Channels
    description: The destinations content is made for.
  - name: Products
    description: What a campaign promotes.
paths:
  /v1/capabilities:
    get:
      tags:
        - Meta
      summary: Capabilities and prices
      description: >-
        What this deployment can serve, and what it costs. The live catalogue
        with current prices, plus this caller’s credit balance. Prices are read
        from the same table the charge is taken from, so a quote and an invoice
        cannot disagree. Free: reading the catalogue is never billed.
      responses:
        '200':
          description: Success.
          content:
            application/json:
              schema:
                $schema: https://json-schema.org/draft/2020-12/schema
                type: object
                properties:
                  success:
                    type: boolean
                    const: true
                  capabilities:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Stable operation id.
                          examples:
                            - video.render
                        method:
                          type: string
                          description: HTTP method to call it with.
                          examples:
                            - POST
                        path:
                          type: string
                          description: Full path.
                          examples:
                            - /v1/video/render
                        summary:
                          type: string
                          description: What it does, in one line.
                          examples:
                            - >-
                              Send prose, a topic, or a catalogue id; receive a
                              narrated video.
                        credits:
                          type: number
                          description: >-
                            Price, read from the same table the charge is taken
                            from.
                          examples:
                            - 300
                        async:
                          description: >-
                            True when it answers with a `jobId` you poll rather
                            than a finished result.
                          type: boolean
                        available:
                          type: boolean
                          description: >-
                            Whether THIS deployment runs it. False means the
                            path answers 503 `capability_unavailable` — retrying
                            will never help.
                        servedBy:
                          description: Which service owns the work.
                          type: string
                        unavailableReason:
                          description: Present only when `available` is false.
                          type: string
                      required:
                        - id
                        - method
                        - path
                        - summary
                        - credits
                        - available
                      additionalProperties: {}
                      description: >-
                        A capability, its price, and whether this host can run
                        it right now.
                  creditBalance:
                    description: What this workspace has left to spend.
                    anyOf:
                      - type: number
                      - type: 'null'
                  billingEnabled:
                    type: boolean
                    description: Permanently true. Kept so older clients do not break.
                  workspaceId:
                    description: The workspace the key resolved to.
                    type: string
                required:
                  - success
                  - capabilities
                  - billingEnabled
                additionalProperties: {}
        '400':
          description: 'Failure. `code` is one of: invalid_request.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: 'Failure. `code` is one of: unauthorized.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: 'Failure. `code` is one of: insufficient_credits, budget_capped.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: 'Failure. `code` is one of: forbidden, origin_not_allowed.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: 'Failure. `code` is one of: not_found.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: 'Failure. `code` is one of: conflict.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '413':
          description: 'Failure. `code` is one of: payload_too_large.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: 'Failure. `code` is one of: rate_limited.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: 'Failure. `code` is one of: internal_error.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '502':
          description: 'Failure. `code` is one of: upstream_error.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '503':
          description: >-
            Failure. `code` is one of: capability_unavailable,
            upstream_unavailable.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Error:
      type: object
      required:
        - success
        - error
        - code
      properties:
        success:
          const: false
        error:
          type: string
          description: >-
            Human-readable. Copy may change between releases — do not match on
            it.
        code:
          type: string
          enum:
            - invalid_request
            - unauthorized
            - forbidden
            - origin_not_allowed
            - not_found
            - conflict
            - payload_too_large
            - insufficient_credits
            - budget_capped
            - rate_limited
            - capability_unavailable
            - upstream_unavailable
            - upstream_error
            - internal_error
          description: Stable machine-readable cause. Branch on this.
        details:
          description: Optional structured context, e.g. the credits shortfall.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: A workspace API key.

````