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

# Create completion

> For sending requests to legacy completion models

<Note>
  **Related guide**: AI Gateway guide. See the [AI Gateway guide](/ai-gateway/using-the-router) for a walkthrough with examples.
</Note>


## OpenAPI

````yaml post /v2/router/completions
openapi: 3.1.0
info:
  title: orq.ai API
  version: '2.0'
  description: orq.ai API documentation
servers:
  - url: https://my.orq.ai
security:
  - ApiKey: []
tags:
  - name: Chunking
    description: Split text into smaller chunks for retrieval and generation workflows.
  - name: File Systems
    description: >-
      Create and manage persistent file systems that agents and MCP clients read
      from and write to.
  - name: Knowledge Bases
    description: Create and manage knowledge bases used by agents and retrieval workflows.
  - name: Memory Stores
    description: Create and manage memory stores, memories, and memory documents.
  - name: Evals
    description: Run an evaluator against a conversation and its result
  - name: Logs
    description: >-
      OpenTelemetry log query API. Search, filter, aggregate, and facet log
      records ingested via OTLP.
  - name: Reporting
    description: >-
      GenAI reporting API over canonical analytics rollups. Accepts a metric
      name, time range, grain, group-by, and filters; returns a typed time
      series and optional totals.
  - name: Traces
    description: >-
      Query and inspect ingested trace data: search trace summaries, aggregate
      metrics, and read individual traces and their spans.
  - description: List models available through the AI Router.
    name: Models
  - name: Policies
  - name: Alerts
    description: >-
      Alerts evaluate a Reporting API metric on a fixed interval and fire
      notifications through notifiers when the value breaches a threshold. Each
      breach opens a trigger that tracks the incident until the value recovers.
  - name: Annotation Queues
    description: Annotation queues collect spans for human review.
  - name: API keys
    description: >-
      API keys authenticate programmatic access to the workspace. They expose
      opaque tokens, per-domain access grants, and budget and rate-limit
      constraints.
  - name: Audit Logs
    description: Audit logs record workspace entity changes and access-relevant events.
  - name: Budgets
    description: >-
      Budgets govern spend, token usage, and request rate across six scopes:
      workspace, project, identity, API key, provider, and model. Every
      applicable budget is enforced, and the most restrictive limit applies per
      dimension.
  - name: Files
    description: File upload and retrieval operations.
  - name: Guardrail Rules
    description: >-
      Guardrail Rules conditionally enforce evaluators and plugins for AI
      Gateway traffic. Rules may be scoped to a project or the whole workspace.
  - name: Hub
    description: Hub items are reusable templates available to a workspace.
  - name: Identities
    description: >-
      Identities represent end users from your system for usage and engagement
      tracking.
  - name: Management keys
    description: >-
      Management keys are workspace-scoped credentials that authenticate
      programmatic access to workspace administration surfaces (API keys,
      budgets). Unlike project-scoped API keys, a management key always operates
      at the workspace level.
  - name: MCP Gateway
    description: >-
      Register upstream MCP servers, discover and sync their tools, and assemble
      gateways that expose a curated tool surface to MCP clients.
  - name: Model Catalog
    description: >-
      Browse the orq.ai model catalog: every model orq offers, across every
      provider, with pricing, capabilities and benchmark data. List endpoints
      only return models that are not deprecated. This API is public, requires
      no authentication, and is rate limited to 120 requests per minute per IP.
      Responses carry a 5-minute cache-control max-age.
  - name: Notifiers
    description: Notifier destinations used to send delivery and workflow notifications.
  - name: Projects
    description: Projects organize resources within a workspace
  - name: Routing Rules
    description: >-
      Routing Rules conditionally select models and enforce request plugins for
      AI Gateway traffic. Rules are evaluated by ascending priority and may be
      scoped to a project or the whole workspace.
  - name: Threads
    description: Threads group related trace invocations and their aggregate usage
  - name: Skills
    description: >-
      Skills are modular instructions you can use to codify processes and
      conventions
  - name: Smart Routers
    description: >-
      Create and manage workspace Smart Routers. A Smart Router selects a model
      from an eligible pool for each request according to a quality, balanced,
      or cost profile.
  - name: Webhooks
    description: >-
      Create and manage webhooks that deliver workspace events to external HTTPS
      endpoints.
  - name: Workspaces
    description: >-
      A workspace is the tenant. Create is called from a user session during
      onboarding; Get, List, and Update are the public management surface.
  - name: Workspace Security
    description: >-
      Workspace-level domain verification and IP allowlist controls. These
      operations are restricted to workspace administrators.
  - name: Workspace Settings
    description: >-
      Workspace-level settings managed with a workspace credential. A workspace
      is the tenant, so these settings are a singleton — there is nothing to
      create or delete, only read and update.
  - name: Responses
  - description: Run agents on a cron cadence. Minimum firing interval is 1 hour.
    name: Agent Schedules
  - name: Embeddings
  - name: Telemetry
    description: >-
      Unified query envelope for traces, metrics, and logs. One request shape,
      one filter dialect, and one response shape per source, validated by a
      per-source registry.
  - description: Beta. Run typed classification questions against a classify model.
    name: Classify
  - description: Search Gateway with managed credits or BYOK.
    name: Web Search
externalDocs:
  url: https://docs.orq.ai
  description: orq.ai Documentation
paths:
  /v2/router/completions:
    post:
      tags:
        - Completions
      summary: Create completion
      description: For sending requests to legacy completion models
      operationId: createCompletion
      requestBody:
        required: true
        content:
          application/json:
            schema:
              allOf:
                - type: object
                  properties:
                    model:
                      type: string
                      description: ID of the model to use
                    prompt:
                      type: string
                      description: >-
                        The prompt(s) to generate completions for, encoded as a
                        string, array of strings, array of tokens, or array of
                        token arrays.
                    echo:
                      type:
                        - boolean
                        - 'null'
                      default: false
                      description: Echo back the prompt in addition to the completion
                    frequency_penalty:
                      type:
                        - number
                        - 'null'
                      default: 0
                      description: >-
                        Number between -2.0 and 2.0. Positive values penalize
                        new tokens based on their existing frequency in the text
                        so far, decreasing the model's likelihood to repeat the
                        same line verbatim.
                    max_tokens:
                      type:
                        - integer
                        - 'null'
                      default: 16
                      description: >-
                        The maximum number of tokens that can be generated in
                        the completion.
                    presence_penalty:
                      type:
                        - number
                        - 'null'
                      minimum: -2
                      maximum: 2
                      default: 0
                      description: >-
                        Number between -2.0 and 2.0. Positive values penalize
                        new tokens based on whether they appear in the text so
                        far, increasing the model's likelihood to talk about new
                        topics.
                    seed:
                      type:
                        - integer
                        - 'null'
                      description: >-
                        If specified, our system will make a best effort to
                        sample deterministically, such that repeated requests
                        with the same seed and parameters should return the same
                        result.
                    stop:
                      anyOf:
                        - type: string
                        - type: array
                          items:
                            type: string
                        - type: 'null'
                      default: null
                      description: >-
                        Up to 4 sequences where the API will stop generating
                        further tokens. The returned text will not contain the
                        stop sequence.
                    temperature:
                      type:
                        - number
                        - 'null'
                      default: 1
                      description: >-
                        What sampling temperature to use, between 0 and 2.
                        Higher values like 0.8 will make the output more random,
                        while lower values like 0.2 will make it more focused
                        and deterministic.
                    top_p:
                      type:
                        - number
                        - 'null'
                      default: 1
                      description: >-
                        An alternative to sampling with temperature, called
                        nucleus sampling, where the model considers the results
                        of the tokens with top_p probability mass. So 0.1 means
                        only the tokens comprising the top 10% probability mass
                        are considered.
                    'n':
                      type:
                        - integer
                        - 'null'
                      default: 1
                      description: >-
                        How many completions to generate for each prompt. Note:
                        Because this parameter generates many completions, it
                        can quickly consume your token quota.
                    user:
                      type: string
                      description: >-
                        A unique identifier representing your end-user, which
                        can help monitor and detect abuse.
                    name:
                      description: >-
                        The name to display on the trace. If not specified, the
                        default system name will be used.
                      type: string
                    fallbacks:
                      type: array
                      items:
                        type: object
                        properties:
                          model:
                            type: string
                            description: Fallback model identifier
                        required:
                          - model
                      description: Array of fallback models to use if primary model fails
                    retry:
                      type: object
                      properties:
                        count:
                          type: number
                          minimum: 1
                          maximum: 5
                          default: 3
                          description: Number of retry attempts (1-5)
                          example: 3
                        on_codes:
                          type: array
                          items:
                            type: number
                            minimum: 100
                            maximum: 599
                          minItems: 1
                          description: HTTP status codes that trigger retry logic
                          example:
                            - 429
                            - 500
                            - 502
                            - 503
                            - 504
                      description: Retry configuration for the request
                    cache:
                      type: object
                      properties:
                        ttl:
                          type: number
                          minimum: 1
                          maximum: 259200
                          default: 1800
                          description: >-
                            Time to live for cached responses in seconds.
                            Maximum 259200 seconds (3 days).
                          example: 3600
                        type:
                          type: string
                          enum:
                            - exact_match
                      required:
                        - type
                      description: Cache configuration for the request.
                    load_balancer:
                      oneOf:
                        - type: object
                          properties:
                            type:
                              type: string
                              enum:
                                - weight_based
                            models:
                              type: array
                              items:
                                type: object
                                properties:
                                  model:
                                    type: string
                                    description: Model identifier for load balancing
                                    example: openai/gpt-5.6-sol
                                  weight:
                                    type: number
                                    minimum: 0.001
                                    maximum: 1
                                    default: 0.5
                                    description: >-
                                      Weight assigned to this model for load
                                      balancing
                                    example: 0.7
                                required:
                                  - model
                          required:
                            - type
                            - models
                      description: Load balancer configuration for the request.
                    timeout:
                      type: object
                      properties:
                        call_timeout:
                          type: number
                          minimum: 1
                          description: Timeout value in milliseconds
                          example: 30000
                      required:
                        - call_timeout
                      description: >-
                        Timeout configuration to apply to the request. If the
                        request exceeds the timeout, it will be retried or
                        fallback to the next model if configured.
                    thinking:
                      oneOf:
                        - $ref: '#/components/schemas/ThinkingConfigDisabledSchema'
                        - $ref: '#/components/schemas/ThinkingConfigEnabledSchema'
                        - $ref: '#/components/schemas/ThinkingConfigAdaptiveSchema'
                        - type: 'null'
                      description: >-
                        Configuration for the thinking mode capability. Set type
                        to `adaptive` for models that support adaptive thinking
                        (e.g. Claude Opus 4.6, Sonnet 4.6), or `enabled` with
                        `budget_tokens` for manual control.
                    plugins:
                      type: array
                      items:
                        $ref: '#/components/schemas/PIIRedactionPlugin'
                      description: >-
                        Request-scoped transforms applied to the text exchanged
                        with the model. Currently supports `pii_redaction`,
                        which replaces PII with placeholders before the provider
                        sees it and restores the original values in the
                        response.
                    orq:
                      type: object
                      properties:
                        name:
                          description: >-
                            The name to display on the trace. If not specified,
                            the default system name will be used.
                          type: string
                        retry:
                          type: object
                          properties:
                            count:
                              type: number
                              minimum: 1
                              maximum: 5
                              default: 3
                              description: Number of retry attempts (1-5)
                              example: 3
                            on_codes:
                              type: array
                              items:
                                type: number
                                minimum: 100
                                maximum: 599
                              minItems: 1
                              description: HTTP status codes that trigger retry logic
                              example:
                                - 429
                                - 500
                                - 502
                                - 503
                                - 504
                          description: Retry configuration for the request
                        fallbacks:
                          type: array
                          items:
                            type: object
                            properties:
                              model:
                                type: string
                                description: Fallback model identifier
                                example: openai/gpt-5.4-mini
                            required:
                              - model
                          description: >-
                            Array of fallback models to use if primary model
                            fails
                        prompt:
                          type: object
                          properties:
                            id:
                              type: string
                              description: Unique identifier of the prompt to use
                              example: prompt_01ARZ3NDEKTSV4RRFFQ69G5FAV
                            version:
                              type: string
                              enum:
                                - latest
                              description: >-
                                Version of the prompt to use (currently only
                                "latest" supported)
                              example: latest
                          required:
                            - id
                            - version
                          description: Prompt configuration for the request
                        identity:
                          $ref: '#/components/schemas/PublicIdentity'
                        contact:
                          $ref: '#/components/schemas/PublicContact'
                        thread:
                          type: object
                          properties:
                            id:
                              type: string
                              description: >-
                                Unique thread identifier to group related
                                invocations.
                              example: thread_01ARZ3NDEKTSV4RRFFQ69G5FAV
                            tags:
                              type: array
                              items:
                                type: string
                              description: >-
                                Optional tags to differentiate or categorize
                                threads
                              example:
                                - customer-support
                                - priority-high
                          required:
                            - id
                          description: Thread information to group related requests
                        inputs:
                          anyOf:
                            - type: object
                              additionalProperties: {}
                            - type: array
                              items:
                                type: object
                                properties:
                                  key:
                                    type: string
                                  value: {}
                                  is_pii:
                                    type: boolean
                                required:
                                  - key
                          deprecated: true
                          description: >-
                            @deprecated Use top-level `variables` field instead.
                            Values to replace in the prompt messages using
                            {{variableName}} syntax.
                          example:
                            customer_name: John Smith
                            product_name: Premium Plan
                            issue_type: billing
                        cache:
                          type: object
                          properties:
                            ttl:
                              type: number
                              minimum: 1
                              maximum: 259200
                              default: 1800
                              description: >-
                                Time to live for cached responses in seconds.
                                Maximum 259200 seconds (3 days).
                              example: 3600
                            type:
                              type: string
                              enum:
                                - exact_match
                          required:
                            - type
                          description: Cache configuration for the request.
                        knowledge_bases:
                          type: array
                          items:
                            type: object
                            properties:
                              top_k:
                                type:
                                  - integer
                                  - 'null'
                                minimum: 1
                                maximum: 100
                                description: >-
                                  The number of results to return. Send `null`
                                  or omit to use the knowledge base configured
                                  `top_k`.
                              threshold:
                                type:
                                  - number
                                  - 'null'
                                minimum: 0
                                maximum: 1
                                description: >-
                                  The threshold to apply to the search. Send
                                  `null` or omit to use the knowledge base
                                  configured `threshold`
                              search_type:
                                type:
                                  - string
                                  - 'null'
                                enum:
                                  - vector_search
                                  - keyword_search
                                  - hybrid_search
                                  - null
                                description: >-
                                  The type of search to perform. Send `null` or
                                  omit to use the knowledge base configured
                                  `retrieval_type`
                              filter_by:
                                anyOf:
                                  - type: object
                                    additionalProperties:
                                      anyOf:
                                        - type: object
                                          properties:
                                            eq:
                                              anyOf:
                                                - type: string
                                                  title: string
                                                  description: String
                                                - type: number
                                                  title: number
                                                  description: Number
                                                - type: boolean
                                                  title: boolean
                                                  description: Boolean
                                          required:
                                            - eq
                                          title: eq
                                          description: Equal to
                                        - type: object
                                          properties:
                                            ne:
                                              anyOf:
                                                - type: string
                                                  title: string
                                                  description: String
                                                - type: number
                                                  title: number
                                                  description: Number
                                                - type: boolean
                                                  title: boolean
                                                  description: Boolean
                                          required:
                                            - ne
                                          title: ne
                                          description: Not equal to
                                        - type: object
                                          properties:
                                            gt:
                                              type: number
                                          required:
                                            - gt
                                          title: gt
                                          description: Greater than
                                        - type: object
                                          properties:
                                            gte:
                                              type: number
                                          required:
                                            - gte
                                          title: gte
                                          description: Greater than or equal to
                                        - type: object
                                          properties:
                                            lt:
                                              type: number
                                          required:
                                            - lt
                                          title: lt
                                          description: Less than
                                        - type: object
                                          properties:
                                            lte:
                                              type: number
                                          required:
                                            - lte
                                          title: lte
                                          description: Less than or equal to
                                        - type: object
                                          properties:
                                            in:
                                              type: array
                                              items:
                                                anyOf:
                                                  - type: string
                                                    title: string
                                                    description: String
                                                  - type: number
                                                    title: number
                                                    description: Number
                                                  - type: boolean
                                                    title: boolean
                                                    description: Boolean
                                          required:
                                            - in
                                          title: in
                                          description: In
                                        - type: object
                                          properties:
                                            nin:
                                              type: array
                                              items:
                                                anyOf:
                                                  - type: string
                                                    title: string
                                                    description: String
                                                  - type: number
                                                    title: number
                                                    description: Number
                                                  - type: boolean
                                                    title: boolean
                                                    description: Boolean
                                          required:
                                            - nin
                                          title: nin
                                          description: Not in
                                    title: Search operator
                                  - type: object
                                    properties:
                                      and:
                                        type: array
                                        items:
                                          type: object
                                          additionalProperties:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  eq:
                                                    anyOf:
                                                      - type: string
                                                        title: string
                                                        description: String
                                                      - type: number
                                                        title: number
                                                        description: Number
                                                      - type: boolean
                                                        title: boolean
                                                        description: Boolean
                                                required:
                                                  - eq
                                                title: eq
                                                description: Equal to
                                              - type: object
                                                properties:
                                                  ne:
                                                    anyOf:
                                                      - type: string
                                                        title: string
                                                        description: String
                                                      - type: number
                                                        title: number
                                                        description: Number
                                                      - type: boolean
                                                        title: boolean
                                                        description: Boolean
                                                required:
                                                  - ne
                                                title: ne
                                                description: Not equal to
                                              - type: object
                                                properties:
                                                  gt:
                                                    type: number
                                                required:
                                                  - gt
                                                title: gt
                                                description: Greater than
                                              - type: object
                                                properties:
                                                  gte:
                                                    type: number
                                                required:
                                                  - gte
                                                title: gte
                                                description: Greater than or equal to
                                              - type: object
                                                properties:
                                                  lt:
                                                    type: number
                                                required:
                                                  - lt
                                                title: lt
                                                description: Less than
                                              - type: object
                                                properties:
                                                  lte:
                                                    type: number
                                                required:
                                                  - lte
                                                title: lte
                                                description: Less than or equal to
                                              - type: object
                                                properties:
                                                  in:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                          title: string
                                                          description: String
                                                        - type: number
                                                          title: number
                                                          description: Number
                                                        - type: boolean
                                                          title: boolean
                                                          description: Boolean
                                                required:
                                                  - in
                                                title: in
                                                description: In
                                              - type: object
                                                properties:
                                                  nin:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                          title: string
                                                          description: String
                                                        - type: number
                                                          title: number
                                                          description: Number
                                                        - type: boolean
                                                          title: boolean
                                                          description: Boolean
                                                required:
                                                  - nin
                                                title: nin
                                                description: Not in
                                    required:
                                      - and
                                    title: and
                                    description: And
                                  - type: object
                                    properties:
                                      or:
                                        type: array
                                        items:
                                          type: object
                                          additionalProperties:
                                            anyOf:
                                              - type: object
                                                properties:
                                                  eq:
                                                    anyOf:
                                                      - type: string
                                                        title: string
                                                        description: String
                                                      - type: number
                                                        title: number
                                                        description: Number
                                                      - type: boolean
                                                        title: boolean
                                                        description: Boolean
                                                required:
                                                  - eq
                                                title: eq
                                                description: Equal to
                                              - type: object
                                                properties:
                                                  ne:
                                                    anyOf:
                                                      - type: string
                                                        title: string
                                                        description: String
                                                      - type: number
                                                        title: number
                                                        description: Number
                                                      - type: boolean
                                                        title: boolean
                                                        description: Boolean
                                                required:
                                                  - ne
                                                title: ne
                                                description: Not equal to
                                              - type: object
                                                properties:
                                                  gt:
                                                    type: number
                                                required:
                                                  - gt
                                                title: gt
                                                description: Greater than
                                              - type: object
                                                properties:
                                                  gte:
                                                    type: number
                                                required:
                                                  - gte
                                                title: gte
                                                description: Greater than or equal to
                                              - type: object
                                                properties:
                                                  lt:
                                                    type: number
                                                required:
                                                  - lt
                                                title: lt
                                                description: Less than
                                              - type: object
                                                properties:
                                                  lte:
                                                    type: number
                                                required:
                                                  - lte
                                                title: lte
                                                description: Less than or equal to
                                              - type: object
                                                properties:
                                                  in:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                          title: string
                                                          description: String
                                                        - type: number
                                                          title: number
                                                          description: Number
                                                        - type: boolean
                                                          title: boolean
                                                          description: Boolean
                                                required:
                                                  - in
                                                title: in
                                                description: In
                                              - type: object
                                                properties:
                                                  nin:
                                                    type: array
                                                    items:
                                                      anyOf:
                                                        - type: string
                                                          title: string
                                                          description: String
                                                        - type: number
                                                          title: number
                                                          description: Number
                                                        - type: boolean
                                                          title: boolean
                                                          description: Boolean
                                                required:
                                                  - nin
                                                title: nin
                                                description: Not in
                                    required:
                                      - or
                                    title: or
                                    description: Or
                                description: >-
                                  The metadata filter to apply to the search.
                                  Check the [Searching a Knowledge
                                  Base](https://docs.orq.ai/ai-studio/ai-engineering/knowledge-bases#search-a-knowledge-base)
                                  for more information.
                              search_options:
                                type: object
                                properties:
                                  include_vectors:
                                    type: boolean
                                    description: Whether to include the vector in the chunk
                                  include_metadata:
                                    type: boolean
                                    description: >-
                                      Whether to include the metadata in the
                                      chunk
                                  include_scores:
                                    type: boolean
                                    description: Whether to include the scores in the chunk
                                description: Additional search options
                              rerank_config:
                                type: object
                                properties:
                                  model:
                                    example: cohere/rerank-v4.0-pro
                                    type: string
                                    description: >-
                                      The name of the rerank model to use. Refer
                                      to the [model
                                      list](https://docs.orq.ai/ai-gateway/supported-models#rerank-models).
                                  threshold:
                                    type: number
                                    minimum: 0
                                    maximum: 1
                                    default: 0
                                    description: >-
                                      The threshold value used to filter the
                                      rerank results, only documents with a
                                      relevance score greater than the threshold
                                      will be returned
                                  top_k:
                                    type: integer
                                    minimum: 1
                                    maximum: 100
                                    default: 10
                                    description: >-
                                      The number of top results to return after
                                      reranking. Defaults to `10`.
                                required:
                                  - model
                                description: >-
                                  Override the rerank configuration for this
                                  search. If not provided, will use the
                                  knowledge base configured rerank settings.
                              agentic_rag_config:
                                type: object
                                properties:
                                  model:
                                    type: string
                                    description: >-
                                      The name of the model for the Agent to
                                      use. Refer to the [model
                                      list](https://docs.orq.ai/ai-gateway/supported-models#chat-models).
                                required:
                                  - model
                                description: >-
                                  Override the agentic RAG configuration for
                                  this search. If not provided, will use the
                                  knowledge base configured agentic RAG
                                  settings.
                              knowledge_id:
                                type: string
                                description: >-
                                  Unique identifier of the knowledge base to
                                  search
                                example: customer-knowledge-base
                              query:
                                type: string
                                description: >-
                                  The query to use to search the knowledge base.
                                  If not provided we will use the last user
                                  message from the messages of the requests
                            required:
                              - knowledge_id
                        load_balancer:
                          oneOf:
                            - type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                    - weight_based
                                models:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      model:
                                        type: string
                                        description: Model identifier for load balancing
                                        example: openai/gpt-5.6-sol
                                      weight:
                                        type: number
                                        minimum: 0.001
                                        maximum: 1
                                        default: 0.5
                                        description: >-
                                          Weight assigned to this model for load
                                          balancing
                                        example: 0.7
                                    required:
                                      - model
                              required:
                                - type
                                - models
                          description: Load balancer configuration for the request.
                          example:
                            type: weight_based
                            models:
                              - model: openai/gpt-4o
                                weight: 0.7
                              - model: anthropic/claude-3-5-sonnet
                                weight: 0.3
                        timeout:
                          type: object
                          properties:
                            call_timeout:
                              type: number
                              minimum: 1
                              description: Timeout value in milliseconds
                              example: 30000
                          required:
                            - call_timeout
                          description: >-
                            Timeout configuration to apply to the request. If
                            the request exceeds the timeout, it will be retried
                            or fallback to the next model if configured.
                      description: >-
                        Leverage Orq's intelligent routing capabilities to
                        enhance your AI application with enterprise-grade
                        reliability and observability. Orq provides automatic
                        request management including retries on failures, model
                        fallbacks for high availability, identity-level
                        analytics tracking, conversation threading, and dynamic
                        prompt templating with variable substitution.
                      deprecated: true
                      example:
                        retry:
                          count: 3
                          on_codes:
                            - 429
                            - 500
                            - 502
                        fallbacks:
                          - model: openai/gpt-5
                          - model: anthropic/claude-4-opus
                        identity:
                          id: identity_01ARZ3NDEKTSV4RRFFQ69G5FAV
                          display_name: Jane Doe
                          email: jane.doe@example.com
                        thread:
                          id: thread_01ARZ3NDEKTSV4RRFFQ69G5FAV
                          tags:
                            - customer-support
                        inputs:
                          customer_name: John Smith
                          issue_type: billing
                        cache:
                          ttl: 3600
                          type: exact_match
                        knowledge_bases:
                          - knowledge_id: knowledge_01ARZ3NDEKTSV4RRFFQ69G5FAV
                            top_k: 5
                        timeout:
                          call_timeout: 30000
                        security:
                          mask:
                            - input
                            - system
                  required:
                    - model
                    - prompt
                - type: object
                  properties:
                    stream:
                      type: boolean
                      default: false
      responses:
        '200':
          description: Represents a completion response from the API.
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: A unique identifier for the completion.
                  choices:
                    type: array
                    items:
                      type: object
                      properties:
                        finish_reason:
                          type: string
                          enum:
                            - stop
                            - length
                            - content_filter
                            - tool_calls
                          description: The reason the model stopped generating tokens.
                        index:
                          type: number
                          description: The index of the choice in the list of choices.
                        text:
                          type: string
                      required:
                        - finish_reason
                        - index
                        - text
                    description: >-
                      The list of completion choices the model generated for the
                      input prompt.
                  created:
                    anyOf:
                      - type: string
                      - type: number
                    description: >-
                      The Unix timestamp (in seconds) of when the chat
                      completion was created.
                  model:
                    type: string
                    description: The model used for the chat completion.
                  system_fingerprint:
                    type: string
                    description: >-
                      This fingerprint represents the backend configuration that
                      the model runs with.
                  object:
                    type: string
                    description: The object type
                  usage:
                    type: object
                    properties:
                      completion_tokens:
                        type: number
                        description: Number of tokens in the generated completion.
                      prompt_tokens:
                        type: number
                        description: Number of tokens in the prompt.
                      total_tokens:
                        type: number
                        description: >-
                          Total number of tokens used in the request (prompt +
                          completion).
                      prompt_tokens_details:
                        type:
                          - object
                          - 'null'
                        properties:
                          cached_tokens:
                            type:
                              - integer
                              - 'null'
                          cache_creation_tokens:
                            type:
                              - integer
                              - 'null'
                          audio_tokens:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              The number of audio input tokens consumed by the
                              request.
                      completion_tokens_details:
                        type:
                          - object
                          - 'null'
                        properties:
                          reasoning_tokens:
                            type:
                              - number
                              - 'null'
                          accepted_prediction_tokens:
                            type:
                              - number
                              - 'null'
                          rejected_prediction_tokens:
                            type:
                              - number
                              - 'null'
                          audio_tokens:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              The number of audio output tokens produced by the
                              response.
                    description: Usage statistics for the completion request.
                required:
                  - id
                  - choices
                  - model
                  - object
            text/event-stream:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: A unique identifier for the completion.
                  choices:
                    type: array
                    items:
                      type: object
                      properties:
                        finish_reason:
                          type: string
                          enum:
                            - stop
                            - length
                            - content_filter
                            - tool_calls
                          description: The reason the model stopped generating tokens.
                        index:
                          type: number
                          description: The index of the choice in the list of choices.
                        text:
                          type: string
                      required:
                        - finish_reason
                        - index
                        - text
                    description: >-
                      The list of completion choices the model generated for the
                      input prompt.
                  created:
                    anyOf:
                      - type: string
                      - type: number
                    description: >-
                      The Unix timestamp (in seconds) of when the chat
                      completion was created.
                  model:
                    type: string
                    description: The model used for the chat completion.
                  system_fingerprint:
                    type: string
                    description: >-
                      This fingerprint represents the backend configuration that
                      the model runs with.
                  object:
                    type: string
                    description: The object type
                  usage:
                    type: object
                    properties:
                      completion_tokens:
                        type: number
                        description: Number of tokens in the generated completion.
                      prompt_tokens:
                        type: number
                        description: Number of tokens in the prompt.
                      total_tokens:
                        type: number
                        description: >-
                          Total number of tokens used in the request (prompt +
                          completion).
                      prompt_tokens_details:
                        type:
                          - object
                          - 'null'
                        properties:
                          cached_tokens:
                            type:
                              - integer
                              - 'null'
                          cache_creation_tokens:
                            type:
                              - integer
                              - 'null'
                          audio_tokens:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              The number of audio input tokens consumed by the
                              request.
                      completion_tokens_details:
                        type:
                          - object
                          - 'null'
                        properties:
                          reasoning_tokens:
                            type:
                              - number
                              - 'null'
                          accepted_prediction_tokens:
                            type:
                              - number
                              - 'null'
                          rejected_prediction_tokens:
                            type:
                              - number
                              - 'null'
                          audio_tokens:
                            type:
                              - integer
                              - 'null'
                            description: >-
                              The number of audio output tokens produced by the
                              response.
                    description: Usage statistics for the completion request.
                required:
                  - id
                  - choices
                  - model
                  - object
components:
  schemas:
    ThinkingConfigDisabledSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - disabled
          description: Disables the thinking mode capability
      required:
        - type
      title: Thinking config disabled
      description: Disables the thinking mode capability
    ThinkingConfigEnabledSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - enabled
          description: Enables or disables the thinking mode capability
        budget_tokens:
          type: number
          description: >-
            Determines how many tokens the model can use for its internal
            reasoning process. Larger budgets can enable more thorough analysis
            for complex problems, improving response quality. Must be ≥1024 and
            less than `max_tokens`.
        thinking_level:
          type: string
          enum:
            - minimal
            - low
            - medium
            - high
          description: >-
            The level of reasoning the model should use. This setting is
            supported only by `gemini-3` models. If budget_tokens is specified
            and `thinking_level` is available, `budget_tokens` will be ignored.
      required:
        - type
        - budget_tokens
      title: Thinking config enabled
      description: Enables the thinking mode capability
    ThinkingConfigAdaptiveSchema:
      type: object
      properties:
        type:
          type: string
          enum:
            - adaptive
          description: >-
            Lets the model dynamically determine when and how much to use
            extended thinking based on the complexity of each request. Supported
            on Claude Opus 4.6 and Sonnet 4.6.
      required:
        - type
      title: Thinking config adaptive
      description: >-
        Enables adaptive thinking mode where the model dynamically determines
        thinking depth
    PIIRedactionPlugin:
      type: object
      properties:
        id:
          type: string
          enum:
            - pii_redaction
          description: PII redaction plugin.
        language:
          type: string
          description: >-
            Detector language. Accepts "auto" to detect the language per
            request; GET /v2/pii/capabilities lists the concrete languages and
            does not include "auto". Omitting the field falls back to en.
        regions:
          type: array
          items:
            type: string
          description: >-
            Region codes selecting whole regions of coverage (e.g. "nl", "gb").
            Every entity type those regions cover is redacted, alongside the
            base catalog. ["all"] is exclusive, and leaving both this and
            entities empty also runs every region, so selecting nothing is the
            widest request rather than the narrowest. Combines with entities:
            the two selections are unioned, so entities adds types on top of the
            region coverage.
        entities:
          type: array
          items:
            type: string
          description: >-
            The entity types to redact. A named type is redacted even when it
            belongs to a region, so a region's types can be selected
            individually without naming the region. On its own this is a strict
            allowlist; alongside regions it adds to the region coverage. See GET
            /v2/pii/capabilities for valid types.
        entity_thresholds:
          type: object
          additionalProperties:
            type: number
            minimum: 0
            maximum: 1
          description: >-
            Per-entity confidence cutoff overrides in [0,1]. Tunes confidence
            only and never changes which types are redacted, so every key must
            also appear in entities.
        threshold:
          type: number
          minimum: 0
          maximum: 1
          description: >-
            Baseline confidence cutoff applied to every entity type without a
            per-entity override.
        on_failure:
          type: string
          enum:
            - block
            - passthrough
          description: Behaviour when detection fails.
      required:
        - id
      additionalProperties: false
      title: PII redaction plugin
    PublicIdentity:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the contact
          example: contact_01ARZ3NDEKTSV4RRFFQ69G5FAV
        display_name:
          type: string
          description: Display name of the contact
          example: Jane Doe
        email:
          type: string
          format: email
          description: Email address of the contact
          example: jane.doe@example.com
        metadata:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: >-
            A hash of key/value pairs containing any other data about the
            contact
          example:
            - department: Engineering
              role: Senior Developer
        logo_url:
          type: string
          description: URL to the contact's avatar or logo
          example: https://example.com/avatars/jane-doe.jpg
        tags:
          type: array
          items:
            type: string
          description: A list of tags associated with the contact
          example:
            - hr
            - engineering
      required:
        - id
      description: >-
        Information about the identity making the request. If the identity does
        not exist, it will be created automatically.
    PublicContact:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier for the contact
          example: contact_01ARZ3NDEKTSV4RRFFQ69G5FAV
        display_name:
          type: string
          description: Display name of the contact
          example: Jane Doe
        email:
          type: string
          format: email
          description: Email address of the contact
          example: jane.doe@example.com
        metadata:
          type: array
          items:
            type: object
            additionalProperties: {}
          description: >-
            A hash of key/value pairs containing any other data about the
            contact
          example:
            - department: Engineering
              role: Senior Developer
        logo_url:
          type: string
          description: URL to the contact's avatar or logo
          example: https://example.com/avatars/jane-doe.jpg
        tags:
          type: array
          items:
            type: string
          description: A list of tags associated with the contact
          example:
            - hr
            - engineering
      required:
        - id
      description: >-
        @deprecated Use identity instead. Information about the contact making
        the request.
      deprecated: true
  securitySchemes:
    ApiKey:
      type: http
      scheme: bearer
      bearerFormat: JWT

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.