OpenPipe Chat API

The Chat API from OpenPipe — 1 operation(s) for chat.

OpenAPI Specification

openpipe-chat-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: OpenPipe Chat API
  description: The public API for reporting API calls to OpenPipe
  version: 0.1.1
servers:
- url: https://api.openpipe.ai/api/v1
tags:
- name: Chat
paths:
  /chat/completions:
    post:
      operationId: createChatCompletion
      description: OpenAI-compatible route for generating inference and optionally logging the request.
      security:
      - Authorization: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                messages:
                  type: array
                  items:
                    anyOf:
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - system
                        content:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - text
                                text:
                                  type: string
                              required:
                              - type
                              - text
                              additionalProperties: false
                          default: ''
                        name:
                          type: string
                      required:
                      - role
                      additionalProperties: false
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - user
                        content:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - text
                                  text:
                                    type: string
                                required:
                                - type
                                - text
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - image_url
                                  image_url:
                                    type: object
                                    properties:
                                      detail:
                                        anyOf:
                                        - type: string
                                          enum:
                                          - auto
                                        - type: string
                                          enum:
                                          - low
                                        - type: string
                                          enum:
                                          - high
                                      url:
                                        type: string
                                    required:
                                    - url
                                    additionalProperties: false
                                required:
                                - type
                                - image_url
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - input_audio
                                  input_audio:
                                    type: object
                                    properties:
                                      data:
                                        type: string
                                      format:
                                        type: string
                                        enum:
                                        - wav
                                        - mp3
                                    required:
                                    - data
                                    - format
                                    additionalProperties: false
                                required:
                                - type
                                - input_audio
                                additionalProperties: false
                          default: ''
                        name:
                          type: string
                      required:
                      - role
                      additionalProperties: false
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - assistant
                        audio:
                          type: object
                          properties:
                            id:
                              type: string
                          required:
                          - id
                          additionalProperties: false
                          nullable: true
                        content:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              anyOf:
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - text
                                  text:
                                    type: string
                                required:
                                - type
                                - text
                                additionalProperties: false
                              - type: object
                                properties:
                                  type:
                                    type: string
                                    enum:
                                    - refusal
                                  refusal:
                                    type: string
                                required:
                                - type
                                - refusal
                                additionalProperties: false
                          - enum:
                            - 'null'
                            nullable: true
                          default: null
                        function_call:
                          type: object
                          properties:
                            name:
                              type: string
                              default: ''
                            arguments:
                              type: string
                              default: ''
                          additionalProperties: false
                          nullable: true
                        tool_calls:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              function:
                                type: object
                                properties:
                                  name:
                                    type: string
                                  arguments:
                                    type: string
                                required:
                                - name
                                - arguments
                                additionalProperties: false
                              type:
                                type: string
                                enum:
                                - function
                            required:
                            - id
                            - function
                            - type
                            additionalProperties: false
                          nullable: true
                        name:
                          type: string
                        refusal:
                          type: string
                          nullable: true
                        annotations:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                enum:
                                - url_citation
                              url_citation:
                                type: object
                                properties:
                                  start_index:
                                    type: number
                                  end_index:
                                    type: number
                                  title:
                                    type: string
                                  url:
                                    type: string
                                required:
                                - start_index
                                - end_index
                                - title
                                - url
                                additionalProperties: false
                            required:
                            - type
                            - url_citation
                            additionalProperties: false
                      required:
                      - role
                      additionalProperties: false
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - developer
                        content:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - text
                                text:
                                  type: string
                              required:
                              - type
                              - text
                              additionalProperties: false
                          default: ''
                        name:
                          type: string
                      required:
                      - role
                      additionalProperties: false
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - tool
                        content:
                          anyOf:
                          - type: string
                          - type: array
                            items:
                              type: object
                              properties:
                                type:
                                  type: string
                                  enum:
                                  - text
                                text:
                                  type: string
                              required:
                              - type
                              - text
                              additionalProperties: false
                          default: ''
                        tool_call_id:
                          type: string
                      required:
                      - role
                      - tool_call_id
                      additionalProperties: false
                    - type: object
                      properties:
                        role:
                          type: string
                          enum:
                          - function
                        name:
                          type: string
                        content:
                          anyOf:
                          - type: string
                          - enum:
                            - 'null'
                            nullable: true
                      required:
                      - role
                      - name
                      - content
                      additionalProperties: false
                model:
                  type: string
                audio:
                  type: object
                  properties:
                    format:
                      type: string
                      enum:
                      - wav
                      - mp3
                      - flac
                      - opus
                      - pcm16
                    voice:
                      type: string
                      enum:
                      - alloy
                      - ash
                      - ballad
                      - coral
                      - echo
                      - sage
                      - shimmer
                      - verse
                  required:
                  - format
                  - voice
                  additionalProperties: false
                  nullable: true
                function_call:
                  anyOf:
                  - type: string
                    enum:
                    - none
                  - type: string
                    enum:
                    - auto
                  - type: object
                    properties:
                      name:
                        type: string
                    required:
                    - name
                    additionalProperties: false
                functions:
                  type: array
                  items:
                    type: object
                    properties:
                      name:
                        type: string
                      parameters:
                        type: object
                        additionalProperties: {}
                      description:
                        type: string
                      strict:
                        type: boolean
                        nullable: true
                    required:
                    - name
                    additionalProperties: false
                tool_choice:
                  anyOf:
                  - type: string
                    enum:
                    - none
                  - type: string
                    enum:
                    - auto
                  - type: string
                    enum:
                    - required
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - function
                        default: function
                      function:
                        type: object
                        properties:
                          name:
                            type: string
                        required:
                        - name
                        additionalProperties: false
                        default:
                          name: ''
                    additionalProperties: false
                tools:
                  type: array
                  items:
                    type: object
                    properties:
                      function:
                        type: object
                        properties:
                          name:
                            type: string
                          parameters:
                            type: object
                            additionalProperties: {}
                          description:
                            type: string
                          strict:
                            type: boolean
                            nullable: true
                        required:
                        - name
                        additionalProperties: false
                      type:
                        type: string
                        enum:
                        - function
                    required:
                    - function
                    - type
                    additionalProperties: false
                n:
                  type: number
                max_tokens:
                  type: number
                  nullable: true
                max_completion_tokens:
                  type: number
                  nullable: true
                temperature:
                  type: number
                top_p:
                  type: number
                  nullable: true
                presence_penalty:
                  type: number
                  nullable: true
                frequency_penalty:
                  type: number
                  nullable: true
                stop:
                  anyOf:
                  - type: string
                  - type: array
                    items:
                      type: string
                  nullable: true
                response_format:
                  anyOf:
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - text
                    required:
                    - type
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - json_object
                    required:
                    - type
                    additionalProperties: false
                  - type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - json_schema
                      json_schema:
                        type: object
                        properties:
                          name:
                            type: string
                          description:
                            type: string
                          schema:
                            type: object
                            additionalProperties: {}
                          strict:
                            type: boolean
                            nullable: true
                        required:
                        - name
                        additionalProperties: false
                    required:
                    - type
                    - json_schema
                    additionalProperties: false
                logprobs:
                  type: boolean
                top_logprobs:
                  type: number
                  nullable: true
                stream_options:
                  type: object
                  properties:
                    include_usage:
                      type: boolean
                  required:
                  - include_usage
                  additionalProperties: false
                store:
                  type: boolean
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  nullable: true
                stream:
                  type: boolean
                  default: false
              required:
              - messages
              - model
              additionalProperties: true
      parameters: []
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                anyOf:
                - type: object
                  properties:
                    id:
                      type: string
                    object:
                      type: string
                      enum:
                      - chat.completion
                    created:
                      type: number
                    model:
                      type: string
                    choices:
                      type: array
                      items:
                        type: object
                        properties:
                          finish_reason:
                            anyOf:
                            - type: string
                              enum:
                              - length
                            - type: string
                              enum:
                              - function_call
                            - type: string
                              enum:
                              - tool_calls
                            - type: string
                              enum:
                              - stop
                            - type: string
                              enum:
                              - content_filter
                          index:
                            type: number
                          message:
                            type: object
                            properties:
                              reasoning_content:
                                type: string
                                nullable: true
                              content:
                                type: string
                                nullable: true
                                default: null
                              refusal:
                                type: string
                                nullable: true
                              role:
                                type: string
                                enum:
                                - assistant
                              function_call:
                                type: object
                                properties:
                                  name:
                                    type: string
                                    default: ''
                                  arguments:
                                    type: string
                                    default: ''
                                additionalProperties: false
                                nullable: true
                              tool_calls:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    id:
                                      type: string
                                    function:
                                      type: object
                                      properties:
                                        name:
                                          type: string
                                        arguments:
                                          type: string
                                      required:
                                      - name
                                      - arguments
                                      additionalProperties: false
                                    type:
                                      type: string
                                      enum:
                                      - function
                                  required:
                                  - id
                                  - function
                                  - type
                                  additionalProperties: false
                                nullable: true
                            required:
                            - role
                            additionalProperties: false
                          logprobs:
                            type: object
                            properties:
                              content:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    token:
                                      type: string
                                    bytes:
                                      type: array
                                      items:
                                        type: number
                                      nullable: true
                                    logprob:
                                      type: number
                                    top_logprobs:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          token:
                                            type: string
                                          bytes:
                                            type: array
                                            items:
                                              type: number
                                            nullable: true
                                          logprob:
                                            type: number
                                        required:
                                        - token
                                        - bytes
                                        - logprob
                                        additionalProperties: false
                                  required:
                                  - token
                                  - bytes
                                  - logprob
                                  - top_logprobs
                                  additionalProperties: false
                                nullable: true
                                default: null
                              refusal:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    token:
                                      type: string
                                    bytes:
                                      type: array
                                      items:
                                        type: number
                                      nullable: true
                                    logprob:
                                      type: number
                                    top_logprobs:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          token:
                                            type: string
                                          bytes:
                                            type: array
                                            items:
                                              type: number
                                            nullable: true
                                          logprob:
                                            type: number
                                        required:
                                        - token
                                        - bytes
                                        - logprob
                                        additionalProperties: false
                                  required:
                                  - token
                                  - bytes
                                  - logprob
                                  - top_logprobs
                                  additionalProperties: false
                                nullable: true
                                default: null
                            additionalProperties: false
                            nullable: true
                            default: null
                          content_filter_results:
                            type: object
                            properties: {}
                            additionalProperties: true
                          criteria_results:
                            type: object
                            additionalProperties:
                              anyOf:
                              - type: object
                                properties:
                                  status:
                                    type: string
                                    enum:
                                    - success
                                  score:
                                    type: number
                                  explanation:
                                    type: string
                                  errorCode:
                                    type: number
                                  errorMessage:
                                    type: string
                                required:
                                - status
                                - score
                                additionalProperties: false
                              - type: object
                                properties:
                                  status:
                                    type: string
                                    enum:
                                    - error
                                  score:
                                    type: number
                                  explanation:
                                    type: string
                                  errorCode:
                                    type: number
                                  errorMessage:
                                    type: string
                                required:
                                - status
                                - errorCode
                                - errorMessage
                                additionalProperties: false
                        required:
                        - finish_reason
                        - index
                        - message
                        additionalProperties: false
                    usage:
                      type: object
                      properties:
                        prompt_tokens:
                          type: number
                        completion_tokens:
                          type: number
                        total_tokens:
                          type: number
                        prompt_cache_hit_tokens:
                          type: number
                        prompt_cache_miss_tokens:
                          type: number
                        completion_tokens_details:
                          type: object
                          properties:
                            reasoning_tokens:
                              type: number
                              nullable: true
                            audio_tokens:
                              type: number
                              nullable: true
                            text_tokens:
                              type: number
                              nullable: true
                            accepted_prediction_tokens:
                              type: number
                 

# --- truncated at 32 KB (34 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openpipe/refs/heads/main/openapi/openpipe-chat-api-openapi.yml