OpenPipe Chat API
The Chat API from OpenPipe — 1 operation(s) for chat.
The Chat API from OpenPipe — 1 operation(s) for chat.
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