OpenAI integration for AI agents.
OpenAI integration for AI agents with secure authentication and server-side credential injection. Open Connector runs the OAuth, seals the token in an encrypted vault, and serves OpenAI tools to your agent over MCP or a typed API — credentials injected server-side, every call audited, nothing leaving your infrastructure. Open source (AGPL-3.0) and self-hostable.
Real OpenAI actions, managed and audited.
Your user connects OpenAI once; your agent can then secure AI-agent actions — scoped to the OAuth permissions you grant and the tool allowlist you configure. Every action is least-privilege and written to a tamper-evident audit trail.
- 1
Your user grants OpenAI access once (OAuth) — the token lands in the vault.
- 2
Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.
- 3
Every routed call appends a hash-chained audit record — nothing leaves your infra.
Supported OpenAI tools.
288 tools are generated from the published OpenAI catalog. Descriptions are plain text; each action remains subject to its configured authentication and tool allowlist.
Showing 288 tools. All published catalog entries are included in this page's server-rendered HTML.
- Accept an incoming SIP call and configure the realtime session that will handle it.
- Accept an incoming SIP call and configure the realtime session that will handle it.
- Realtime
- Activate certificates at the organization level. You can atomically and idempotently activate up to 10 certificates at a time.
- Activate certificates at the organization level. You can atomically and idempotently activate up to 10 certificates at a time.
- Certificates
- Activate certificates at the project level. You can atomically and idempotently activate up to 10 certificates at a time.
- Activate certificates at the project level. You can atomically and idempotently activate up to 10 certificates at a time.
- Certificates
- Adds a user to a group.
- Adds a user to a group.
- Group users
- Grants a group access to a project.
- Grants a group access to a project.
- Project groups
- Adds a [Part](/docs/api-reference/uploads/part-object) to an [Upload](/docs/api-reference/uploads/object) object. A Part represents a chunk of bytes from the file you are trying to upload. Each Part can be at most 64 MB, and you can add Parts until you hit the Upload maximum of 8 GB. It is possible to add multiple Parts in parallel. You can decide the intended order of the Parts when you [complete the Upload](/docs/api-reference/uploads/complete).
- Adds a [Part](/docs/api-reference/uploads/part-object) to an [Upload](/docs/api-reference/uploads/object) object. A Part represents a chunk of bytes from the file you are trying to upload. Each Part can be at most 64 MB, and you can add Parts until you hit the Upload maximum of 8 GB. It is possible to add multiple Parts in parallel. You can decide the intended order of the Parts when you [complete the Upload](/docs/api-reference/uploads/complete).
- Uploads
- Create an organization admin API key
- Create a new admin-level API key for the organization.
- api
- Delete an organization admin API key
- Delete the specified admin API key.
- api
- Retrieve a single organization API key
- Get details for a specific organization API key by its ID.
- api
- List organization API keys
- Retrieve a paginated list of organization admin API keys.
- api
- Archives a project in the organization. Archived projects cannot be used or updated.
- Archives a project in the organization. Archived projects cannot be used or updated.
- Projects
- Assigns an organization role to a group within the organization.
- Assigns an organization role to a group within the organization.
- Group organization role assignments
- Assigns a project role to a group within a project.
- Assigns a project role to a group within a project.
- Project group role assignments
- Assigns a project role to a user within a project.
- Assigns a project role to a user within a project.
- Project user role assignments
- Assigns an organization role to a user within the organization.
- Assigns an organization role to a user within the organization.
- User organization role assignments
- Cancels a model response with the given ID. Only responses created with the `background` parameter set to `true` can be cancelled. [Learn more](/docs/guides/background).
- Cancels a model response with the given ID. Only responses created with the `background` parameter set to `true` can be cancelled. [Learn more](/docs/guides/background).
- Responses
- Compact a conversation. Returns a compacted response object. Learn when and how to compact long-running conversations in the [conversation state guide](/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](/docs/guides/conversation-state#compaction-advanced).
- Compact a conversation. Returns a compacted response object. Learn when and how to compact long-running conversations in the [conversation state guide](/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](/docs/guides/conversation-state#compaction-advanced).
- beta
- Creates a model response. Provide [text](/docs/guides/text) or [image](/docs/guides/images) inputs to generate [text](/docs/guides/text) or [JSON](/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](/docs/guides/function-calling) or use built-in [tools](/docs/guides/tools) like [web search](/docs/guides/tools-web-search) or [file search](/docs/guides/tools-file-search) to use your own data as input for the model's response.
- Creates a model response. Provide [text](/docs/guides/text) or [image](/docs/guides/images) inputs to generate [text](/docs/guides/text) or [JSON](/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](/docs/guides/function-calling) or use built-in [tools](/docs/guides/tools) like [web search](/docs/guides/tools-web-search) or [file search](/docs/guides/tools-file-search) to use your own data as input for the model's response.
- Responses
- Deletes a model response with the given ID.
- Deletes a model response with the given ID.
- Responses
- Retrieves a model response with the given ID.
- Retrieves a model response with the given ID.
- Responses
- Returns input token counts of the request. Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count.
- Returns input token counts of the request. Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count.
- beta
- Returns a list of input items for a given response.
- Returns a list of input items for a given response.
- Responses
- Cancels an in-progress batch. The batch will be in status `cancelling` for up to 10 minutes, before changing to `cancelled`, where it will have partial results (if any) available in the output file.
- Cancels an in-progress batch. The batch will be in status `cancelling` for up to 10 minutes, before changing to `cancelled`, where it will have partial results (if any) available in the output file.
- Batch
- Cancel an active ChatKit session and return its most recent metadata. Cancelling prevents new requests from using the issued client secret.
- Cancel an active ChatKit session and return its most recent metadata. Cancelling prevents new requests from using the issued client secret.
- cancelchatsessionmethod
- Cancel an ongoing evaluation run.
- Cancel an ongoing evaluation run.
- Evals
- Immediately cancel a fine-tune job.
- Immediately cancel a fine-tune job.
- Fine-tuning
- Cancels a model response with the given ID. Only responses created with the `background` parameter set to `true` can be cancelled. [Learn more](/docs/guides/background).
- Cancels a model response with the given ID. Only responses created with the `background` parameter set to `true` can be cancelled. [Learn more](/docs/guides/background).
- Responses
- Cancels a run that is `in_progress`.
- Cancels a run that is `in_progress`.
- Assistants
- Cancels the Upload. No Parts may be added after an Upload is cancelled. Returns the Upload object with status `cancelled`.
- Cancels the Upload. No Parts may be added after an Upload is cancelled. Returns the Upload object with status `cancelled`.
- Uploads
- Cancel a vector store file batch. This attempts to cancel the processing of files in this batch as soon as possible.
- Cancel a vector store file batch. This attempts to cancel the processing of files in this batch as soon as possible.
- Vector stores
- Compact a conversation. Returns a compacted response object. Learn when and how to compact long-running conversations in the [conversation state guide](/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](/docs/guides/conversation-state#compaction-advanced).
- Compact a conversation. Returns a compacted response object. Learn when and how to compact long-running conversations in the [conversation state guide](/docs/guides/conversation-state#managing-the-context-window). For ZDR-compatible compaction details, see [Compaction (advanced)](/docs/guides/conversation-state#compaction-advanced).
- compactconversation
- Completes the [Upload](/docs/api-reference/uploads/object). Within the returned Upload object, there is a nested [File](/docs/api-reference/files/object) object that is ready to use in the rest of the platform. You can specify the order of the Parts by passing in an ordered list of the Part IDs. The number of bytes uploaded upon completion must match the number of bytes initially specified when creating the Upload object. No Parts may be added after an Upload is completed. Returns the Upload object with status `completed`, including an additional `file` property containing the created usable File object.
- Completes the [Upload](/docs/api-reference/uploads/object). Within the returned Upload object, there is a nested [File](/docs/api-reference/files/object) object that is ready to use in the rest of the platform. You can specify the order of the Parts by passing in an ordered list of the Part IDs. The number of bytes uploaded upon completion must match the number of bytes initially specified when creating the Upload object. No Parts may be added after an Upload is completed. Returns the Upload object with status `completed`, including an additional `file` property containing the created usable File object.
- Uploads
- Create an assistant with a model and instructions.
- Create an assistant with a model and instructions.
- Assistants
- Creates and executes a batch from an uploaded file of requests
- Creates and executes a batch from an uploaded file of requests
- Batch
- **Starting a new project?** We recommend trying [Responses](/docs/api-reference/responses) to take advantage of the latest OpenAI platform features. Compare [Chat Completions with Responses](/docs/guides/responses-vs-chat-completions?api-mode=responses). --- Creates a model response for the given chat conversation. Learn more in the [text generation](/docs/guides/text-generation), [vision](/docs/guides/vision), and [audio](/docs/guides/audio) guides. Parameter support can differ depending on the model used to generate the response, particularly for newer reasoning models. Parameters that are only supported for reasoning models are noted below. For the current state of unsupported parameters in reasoning models, [refer to the reasoning guide](/docs/guides/reasoning). Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed.
- **Starting a new project?** We recommend trying [Responses](/docs/api-reference/responses) to take advantage of the latest OpenAI platform features. Compare [Chat Completions with Responses](/docs/guides/responses-vs-chat-completions?api-mode=responses). --- Creates a model response for the given chat conversation. Learn more in the [text generation](/docs/guides/text-generation), [vision](/docs/guides/vision), and [audio](/docs/guides/audio) guides. Parameter support can differ depending on the model used to generate the response, particularly for newer reasoning models. Parameters that are only supported for reasoning models are noted below. For the current state of unsupported parameters in reasoning models, [refer to the reasoning guide](/docs/guides/reasoning). Returns a chat completion object, or a streamed sequence of chat completion chunk objects if the request is streamed.
- Chat
- Create a ChatKit session.
- Create a ChatKit session.
- createchatsessionmethod
- Creates a completion for the provided prompt and parameters. Returns a completion object, or a sequence of completion objects if the request is streamed.
- Creates a completion for the provided prompt and parameters. Returns a completion object, or a sequence of completion objects if the request is streamed.
- Completions
- Create Container
- Creates a container.
- createcontainer
- Create a Container File You can send either a multipart/form-data request with the raw file content, or a JSON request with a file ID.
- Creates a container file.
- createcontainerfile
- Create a conversation.
- Create a conversation.
- Conversations
- Create items in a conversation with the given ID.
- Create items in a conversation with the given ID.
- Conversations
- Creates an embedding vector representing the input text.
- Creates an embedding vector representing the input text.
- Embeddings
- Create the structure of an evaluation that can be used to test a model's performance. An evaluation is a set of testing criteria and the config for a data source, which dictates the schema of the data used in the evaluation. After creating an evaluation, you can run it on different models and model parameters. We support several types of graders and datasources. For more information, see the [Evals guide](/docs/guides/evals).
- Create the structure of an evaluation that can be used to test a model's performance. An evaluation is a set of testing criteria and the config for a data source, which dictates the schema of the data used in the evaluation. After creating an evaluation, you can run it on different models and model parameters. We support several types of graders and datasources. For more information, see the [Evals guide](/docs/guides/evals).
- Evals
- Kicks off a new run for a given evaluation, specifying the data source, and what model configuration to use to test. The datasource will be validated against the schema specified in the config of the evaluation.
- Kicks off a new run for a given evaluation, specifying the data source, and what model configuration to use to test. The datasource will be validated against the schema specified in the config of the evaluation.
- Evals
- Upload a file that can be used across various endpoints. Individual files can be up to 512 MB, and each project can store up to 2.5 TB of files in total. There is no organization-wide storage limit. Uploads to this endpoint are rate-limited to 1,000 requests per minute per authenticated user. - The Assistants API supports files up to 2 million tokens and of specific file types. See the [Assistants Tools guide](/docs/assistants/tools) for details. - The Fine-tuning API only supports `.jsonl` files. The input also has certain required formats for fine-tuning [chat](/docs/api-reference/fine-tuning/chat-input) or [completions](/docs/api-reference/fine-tuning/completions-input) models. - The Batch API only supports `.jsonl` files up to 200 MB in size. The input also has a specific required [format](/docs/api-reference/batch/request-input). - For Retrieval or `file_search` ingestion, upload files here first. If you need to attach multiple uploaded files to the same vector store, use [`/vector_stores/{vector_store_id}/file_batches`](/docs/api-reference/vector-stores-file-batches/createBatch) instead of attaching them one by one. Vector store attachment has separate limits from file upload, including 2,000 attached files per minute per organization. Please [contact us](https://help.openai.com/) if you need to increase these storage limits.
- Upload a file that can be used across various endpoints. Individual files can be up to 512 MB, and each project can store up to 2.5 TB of files in total. There is no organization-wide storage limit. Uploads to this endpoint are rate-limited to 1,000 requests per minute per authenticated user. - The Assistants API supports files up to 2 million tokens and of specific file types. See the [Assistants Tools guide](/docs/assistants/tools) for details. - The Fine-tuning API only supports `.jsonl` files. The input also has certain required formats for fine-tuning [chat](/docs/api-reference/fine-tuning/chat-input) or [completions](/docs/api-reference/fine-tuning/completions-input) models. - The Batch API only supports `.jsonl` files up to 200 MB in size. The input also has a specific required [format](/docs/api-reference/batch/request-input). - For Retrieval or `file_search` ingestion, upload files here first. If you need to attach multiple uploaded files to the same vector store, use [`/vector_stores/{vector_store_id}/file_batches`](/docs/api-reference/vector-stores-file-batches/createBatch) instead of attaching them one by one. Vector store attachment has separate limits from file upload, including 2,000 attached files per minute per organization. Please [contact us](https://help.openai.com/) if you need to increase these storage limits.
- Files
- **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys). This enables organization owners to share fine-tuned models with other projects in their organization.
- **NOTE:** Calling this endpoint requires an [admin API key](../admin-api-keys). This enables organization owners to share fine-tuned models with other projects in their organization.
- Fine-tuning
- Creates a fine-tuning job which begins the process of creating a new model from a given dataset. Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. [Learn more about fine-tuning](/docs/guides/model-optimization)
- Creates a fine-tuning job which begins the process of creating a new model from a given dataset. Response includes details of the enqueued job including job status and the name of the fine-tuned models once complete. [Learn more about fine-tuning](/docs/guides/model-optimization)
- Fine-tuning
- Creates a new group in the organization.
- Creates a new group in the organization.
- Groups
- Creates an image given a prompt. [Learn more](/docs/guides/images).
- Creates an image given a prompt. [Learn more](/docs/guides/images).
- Images
- Creates an edited or extended image given one or more source images and a prompt. This endpoint supports GPT Image models (`gpt-image-1.5`, `gpt-image-1`, `gpt-image-1-mini`, and `chatgpt-image-latest`) and `dall-e-2`.
- You can call this endpoint with either: - `multipart/form-data`: use binary uploads via `image` (and optional `mask`). - `application/json`: use `images` (and optional `mask`) as references with either `image_url` or `file_id`. Note that JSON requests use `images` (array) instead of the multipart `image` field.
- Images
- Creates a variation of a given image. This endpoint only supports `dall-e-2`.
- Creates a variation of a given image. This endpoint only supports `dall-e-2`.
- Images
- Create a message.
- Create a message.
- Assistants
- Classifies if text and/or image inputs are potentially harmful. Learn more in the [moderation guide](/docs/guides/moderation).
- Classifies if text and/or image inputs are potentially harmful. Learn more in the [moderation guide](/docs/guides/moderation).
- Moderations
- Creates an organization spend alert.
- Creates an organization spend alert.
- Spend alerts
- Create a new project in the organization. Projects can be created and archived, but cannot be deleted.
- Create a new project in the organization. Projects can be created and archived, but cannot be deleted.
- Projects
- Creates a custom role for a project.
- Creates a custom role for a project.
- Roles
- Creates a new service account in the project. By default, this also returns an unredacted API key for the service account.
- Creates a new service account in the project. By default, this also returns an unredacted API key for the service account.
- Projects
- Creates a project spend alert.
- Creates a project spend alert.
- Spend alerts
- Adds a user to the project. Users must already be members of the organization to be added to a project.
- Adds a user to the project. Users must already be members of the organization to be added to a project.
- Projects
- Create a new Realtime API call over WebRTC and receive the SDP answer needed to complete the peer connection.
- Create a new Realtime API call over WebRTC and receive the SDP answer needed to complete the peer connection.
- Realtime
- Create a Realtime client secret with an associated session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime API without leaking your main API key. You can configure a custom TTL for each client secret. You can also attach session configuration options to the client secret, which will be applied to any sessions created using that client secret, but these can also be overridden by the client connection. [Learn more about authentication with client secrets over WebRTC](/docs/guides/realtime-webrtc). Returns the created client secret and the effective session object. The client secret is a string that looks like `ek_1234`.
- Create a Realtime client secret with an associated session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime API without leaking your main API key. You can configure a custom TTL for each client secret. You can also attach session configuration options to the client secret, which will be applied to any sessions created using that client secret, but these can also be overridden by the client connection. [Learn more about authentication with client secrets over WebRTC](/docs/guides/realtime-webrtc). Returns the created client secret and the effective session object. The client secret is a string that looks like `ek_1234`.
- Realtime
- Create an ephemeral API token for use in client-side applications with the Realtime API. Can be configured with the same session parameters as the `session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime session object, plus an ephemeral key.
- Create an ephemeral API token for use in client-side applications with the Realtime API. Can be configured with the same session parameters as the `session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime session object, plus an ephemeral key.
- Realtime
- Create an ephemeral API token for use in client-side applications with the Realtime API specifically for realtime transcriptions. Can be configured with the same session parameters as the `transcription_session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime transcription session object, plus an ephemeral key.
- Create an ephemeral API token for use in client-side applications with the Realtime API specifically for realtime transcriptions. Can be configured with the same session parameters as the `transcription_session.update` client event. It responds with a session object, plus a `client_secret` key which contains a usable ephemeral API token that can be used to authenticate browser clients for the Realtime API. Returns the created Realtime transcription session object, plus an ephemeral key.
- Realtime
- Create a Realtime translation client secret with an associated translation session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime Translation API without leaking your main API key. You can configure a custom TTL for each client secret. Returns the created client secret and the effective translation session object. The client secret is a string that looks like `ek_1234`.
- Create a Realtime translation client secret with an associated translation session configuration. Client secrets are short-lived tokens that can be passed to a client app, such as a web frontend or mobile client, which grants access to the Realtime Translation API without leaking your main API key. You can configure a custom TTL for each client secret. Returns the created client secret and the effective translation session object. The client secret is a string that looks like `ek_1234`.
- Realtime
- Creates a model response. Provide [text](/docs/guides/text) or [image](/docs/guides/images) inputs to generate [text](/docs/guides/text) or [JSON](/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](/docs/guides/function-calling) or use built-in [tools](/docs/guides/tools) like [web search](/docs/guides/tools-web-search) or [file search](/docs/guides/tools-file-search) to use your own data as input for the model's response.
- Creates a model response. Provide [text](/docs/guides/text) or [image](/docs/guides/images) inputs to generate [text](/docs/guides/text) or [JSON](/docs/guides/structured-outputs) outputs. Have the model call your own [custom code](/docs/guides/function-calling) or use built-in [tools](/docs/guides/tools) like [web search](/docs/guides/tools-web-search) or [file search](/docs/guides/tools-file-search) to use your own data as input for the model's response.
- Responses
- Creates a custom role for the organization.
- Creates a custom role for the organization.
- Roles
- Create a run.
- Create a run.
- Assistants
- Create a new skill.
- Create a new skill.
- Skills
- Create a new immutable skill version.
- Create a new immutable skill version.
- Skills
- Generates audio from the input text. Returns the audio file content, or a stream of audio events.
- Generates audio from the input text. Returns the audio file content, or a stream of audio events.
- Audio
- Create a thread.
- Create a thread.
- Assistants
- Create a thread and run it in one request.
- Create a thread and run it in one request.
- Assistants
- Transcribes audio into the input language. Returns a transcription object in `json`, `diarized_json`, or `verbose_json` format, or a stream of transcript events.
- Transcribes audio into the input language. Returns a transcription object in `json`, `diarized_json`, or `verbose_json` format, or a stream of transcript events.
- Audio
- Translates audio into English.
- Translates audio into English.
- Audio
- Creates an intermediate [Upload](/docs/api-reference/uploads/object) object that you can add [Parts](/docs/api-reference/uploads/part-object) to. Currently, an Upload can accept at most 8 GB in total and expires after an hour after you create it. Once you complete the Upload, we will create a [File](/docs/api-reference/files/object) object that contains all the parts you uploaded. This File is usable in the rest of our platform as a regular File object. For certain `purpose` values, the correct `mime_type` must be specified. Please refer to documentation for the [supported MIME types for your use case](/docs/assistants/tools/file-search#supported-files). For guidance on the proper filename extensions for each purpose, please follow the documentation on [creating a File](/docs/api-reference/files/create). Returns the Upload object with status `pending`.
- Creates an intermediate [Upload](/docs/api-reference/uploads/object) object that you can add [Parts](/docs/api-reference/uploads/part-object) to. Currently, an Upload can accept at most 8 GB in total and expires after an hour after you create it. Once you complete the Upload, we will create a [File](/docs/api-reference/files/object) object that contains all the parts you uploaded. This File is usable in the rest of our platform as a regular File object. For certain `purpose` values, the correct `mime_type` must be specified. Please refer to documentation for the [supported MIME types for your use case](/docs/assistants/tools/file-search#supported-files). For guidance on the proper filename extensions for each purpose, please follow the documentation on [creating a File](/docs/api-reference/files/create). Returns the Upload object with status `pending`.
- Uploads
- Create a vector store.
- Create a vector store.
- Vector stores
- Create a vector store file by attaching a [File](/docs/api-reference/files) to a [vector store](/docs/api-reference/vector-stores/object).
- This endpoint is subject to a per-vector-store write rate limit of 300 requests per minute, shared with `/vector_stores/{vector_store_id}/file_batches`. For uploading multiple files to the same vector store, use the file batches endpoint to reduce request volume.
- Vector stores
- Create a vector store file batch.
- The maximum number of files in a single batch request is 2000. Vector store file attach requests are rate limited per vector store (300 requests per minute across both this endpoint and `/vector_stores/{vector_store_id}/files`). For ingesting multiple files into the same vector store, this batch endpoint is recommended.
- Vector stores
- Create a new video generation job from a prompt and optional reference assets.
- Create a new video generation job from a prompt and optional reference assets.
- Videos
- Create a character from an uploaded video.
- Create a character from an uploaded video.
- Videos
- Create a new video generation job by editing a source video or existing generated video.
- Create a new video generation job by editing a source video or existing generated video.
- Videos
- Create an extension of a completed video.
- Create an extension of a completed video.
- Videos
- Create a remix of a completed video using a refreshed prompt.
- Create a remix of a completed video using a refreshed prompt.
- Videos
- Creates a custom voice.
- Create a custom voice you can use for audio output (for example, in Text-to-Speech and the Realtime API). This requires an audio sample and a previously uploaded consent recording. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices) for requirements and best practices. Custom voices are limited to eligible customers.
- Audio
- Upload a voice consent recording.
- Upload a consent recording that authorizes creation of a custom voice. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices) for requirements and best practices. Custom voices are limited to eligible customers.
- Audio
- Creates an API key for a service account in the project.
- Creates an API key for a service account in the project.
- createanapikeyforaserviceaccount
- Check whether an image or audio file contains known OpenAI provenance signals. [Learn more about content provenance](/api/docs/guides/content-provenance). If `not_detected`, it means the tool did not find supported signals in the uploaded file. The content could still have been generated by OpenAI if the metadata was stripped or has evidence of tampering, the watermark was degraded, it comes from a legacy generation model, or it was created before provenance signals were available. Content could also still be AI-generated by another company's model, which the tool currently does not detect.
- Check whether an image or audio file contains known OpenAI provenance signals. [Learn more about content provenance](/api/docs/guides/content-provenance). If `not_detected`, it means the tool did not find supported signals in the uploaded file. The content could still have been generated by OpenAI if the metadata was stripped or has evidence of tampering, the watermark was degraded, it comes from a legacy generation model, or it was created before provenance signals were available. Content could also still be AI-generated by another company's model, which the tool currently does not detect.
- createcontentprovenancecheck
- Deactivate certificates at the organization level. You can atomically and idempotently deactivate up to 10 certificates at a time.
- Deactivate certificates at the organization level. You can atomically and idempotently deactivate up to 10 certificates at a time.
- Certificates
- Deactivate certificates at the project level. You can atomically and idempotently deactivate up to 10 certificates at a time.
- Deactivate certificates at the project level. You can atomically and idempotently deactivate up to 10 certificates at a time.
- Certificates
- Delete an assistant.
- Delete an assistant.
- Assistants
- Delete a certificate from the organization. The certificate must be inactive for the organization and all projects.
- Delete a certificate from the organization. The certificate must be inactive for the organization and all projects.
- Certificates
- Delete a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be deleted.
- Delete a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be deleted.
- Chat
- Delete Container
- Delete a container.
- deletecontainer
- Delete Container File
- Delete a container file.
- deletecontainerfile
- Delete a conversation. Items in the conversation will not be deleted.
- Delete a conversation. Items in the conversation will not be deleted.
- Conversations
- Delete an item from a conversation with the given IDs.
- Delete an item from a conversation with the given IDs.
- Conversations
- Delete an evaluation.
- Delete an evaluation.
- Evals
- Delete an eval run.
- Delete an eval run.
- Evals
- Delete a file and remove it from all vector stores.
- Delete a file and remove it from all vector stores.
- Files
- **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to delete a permission for a fine-tuned model checkpoint.
- **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to delete a permission for a fine-tuned model checkpoint.
- Fine-tuning
- Deletes a group from the organization.
- Deletes a group from the organization.
- Groups
- Delete an invite. If the invite has already been accepted, it cannot be deleted.
- Delete an invite. If the invite has already been accepted, it cannot be deleted.
- Invites
- Deletes a message.
- Deletes a message.
- Assistants
- Delete a fine-tuned model. You must have the Owner role in your organization to delete a model.
- Delete a fine-tuned model. You must have the Owner role in your organization to delete a model.
- Models
- Deletes an organization spend alert.
- Deletes an organization spend alert.
- Spend alerts
- Deletes an API key from the project. Returns confirmation of the key deletion, or an error if the key belonged to a service account.
- Deletes an API key from the project. Returns confirmation of the key deletion, or an error if the key belonged to a service account.
- Projects
- Deletes model permissions for a project.
- Deletes model permissions for a project.
- Projects
- Deletes a custom role from a project.
- Deletes a custom role from a project.
- Roles
- Deletes a service account from the project. Returns confirmation of service account deletion, or an error if the project is archived (archived projects have no service accounts).
- Deletes a service account from the project. Returns confirmation of service account deletion, or an error if the project is archived (archived projects have no service accounts).
- Projects
- Deletes a project spend alert.
- Deletes a project spend alert.
- Spend alerts
- Deletes a user from the project. Returns confirmation of project user deletion, or an error if the project is archived (archived projects have no users).
- Deletes a user from the project. Returns confirmation of project user deletion, or an error if the project is archived (archived projects have no users).
- Projects
- Deletes a model response with the given ID.
- Deletes a model response with the given ID.
- Responses
- Deletes a custom role from the organization.
- Deletes a custom role from the organization.
- Roles
- Delete a skill by its ID.
- Delete a skill by its ID.
- Skills
- Delete a skill version.
- Delete a skill version.
- Skills
- Delete a thread.
- Delete a thread.
- Assistants
- Delete a ChatKit thread along with its items and stored attachments.
- Delete a ChatKit thread along with its items and stored attachments.
- deletethreadmethod
- Deletes a user from the organization.
- Deletes a user from the organization.
- Users
- Delete a vector store.
- Delete a vector store.
- Vector stores
- Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](/docs/api-reference/files/delete) endpoint.
- Delete a vector store file. This will remove the file from the vector store but the file itself will not be deleted. To delete the file, use the [delete file](/docs/api-reference/files/delete) endpoint.
- Vector stores
- Permanently delete a completed or failed video and its stored assets.
- Permanently delete a completed or failed video and its stored assets.
- Videos
- Deletes a voice consent recording.
- Delete a consent recording that was uploaded for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers.
- Audio
- Delete the organization's hard spend limit.
- Delete the organization's hard spend limit.
- deleteorganizationspendlimit
- Delete a project's hard spend limit.
- Delete a project's hard spend limit.
- deleteprojectspendlimit
- Returns a response containing the contents of the specified file.
- Returns a response containing the contents of the specified file.
- Files
- Retrieves an assistant.
- Retrieves an assistant.
- Assistants
- Get a certificate that has been uploaded to the organization. You can get a certificate regardless of whether it is active or not.
- Get a certificate that has been uploaded to the organization. You can get a certificate regardless of whether it is active or not.
- Certificates
- Get a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned.
- Get a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned.
- Chat
- Get the messages in a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned.
- Get the messages in a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` will be returned.
- Chat
- Get a conversation
- Get a conversation
- Conversations
- Get a single item from a conversation with the given IDs.
- Get a single item from a conversation with the given IDs.
- Conversations
- Get an evaluation by ID.
- Get an evaluation by ID.
- Evals
- Get an evaluation run by ID.
- Get an evaluation run by ID.
- Evals
- Get an evaluation run output item by ID.
- Get an evaluation run output item by ID.
- Evals
- Get a list of output items for an evaluation run.
- Get a list of output items for an evaluation run.
- Evals
- Get a list of runs for an evaluation.
- Get a list of runs for an evaluation.
- Evals
- Retrieve a message.
- Retrieve a message.
- Assistants
- Retrieves a model response with the given ID.
- Retrieves a model response with the given ID.
- Responses
- Retrieves a run.
- Retrieves a run.
- Assistants
- Retrieves a run step.
- Retrieves a run step.
- Assistants
- Get a skill by its ID.
- Get a skill by its ID.
- Skills
- Download a skill zip bundle by its ID.
- Download a skill zip bundle by its ID.
- Skills
- Get a specific skill version.
- Get a specific skill version.
- Skills
- Download a skill version zip bundle.
- Download a skill version zip bundle.
- Skills
- Retrieves a thread.
- Retrieves a thread.
- Assistants
- Retrieve a ChatKit thread by its identifier.
- Retrieve a ChatKit thread by its identifier.
- getthreadmethod
- Retrieves a vector store.
- Retrieves a vector store.
- Vector stores
- Retrieves a vector store file.
- Retrieves a vector store file.
- Vector stores
- Retrieves a vector store file batch.
- Retrieves a vector store file batch.
- Vector stores
- Fetch the latest metadata for a generated video.
- Fetch the latest metadata for a generated video.
- Videos
- Fetch a character.
- Fetch a character.
- Videos
- Retrieves a voice consent recording.
- Retrieve consent recording metadata used for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers.
- Audio
- Returns input token counts of the request. Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count.
- Returns input token counts of the request. Returns an object with `object` set to `response.input_tokens` and an `input_tokens` count.
- getinputtokencounts
- Get the organization's hard spend limit.
- Get the organization's hard spend limit.
- getorganizationspendlimit
- Get a project's hard spend limit.
- Get a project's hard spend limit.
- getprojectspendlimit
- End an active Realtime API call, whether it was initiated over SIP or WebRTC.
- End an active Realtime API call, whether it was initiated over SIP or WebRTC.
- Realtime
- Create an invite for a user to the organization. The invite must be accepted by the user before they have access to the organization.
- Create an invite for a user to the organization. The invite must be accepted by the user before they have access to the organization.
- Invites
- Returns a list of assistants.
- Returns a list of assistants.
- Assistants
- List user actions and configuration changes within this organization.
- List user actions and configuration changes within this organization.
- Audit Logs
- List your organization's batches.
- List your organization's batches.
- Batch
- List stored Chat Completions. Only Chat Completions that have been stored with the `store` parameter set to `true` will be returned.
- List stored Chat Completions. Only Chat Completions that have been stored with the `store` parameter set to `true` will be returned.
- Chat
- List Container files
- Lists container files.
- listcontainerfiles
- List Containers
- Lists containers.
- listcontainers
- List all items for a conversation with the given ID.
- List all items for a conversation with the given ID.
- Conversations
- List evaluations for a project.
- List evaluations for a project.
- Evals
- Returns a list of files.
- Returns a list of files.
- Files
- Returns a list of vector store files in a batch.
- Returns a list of vector store files in a batch.
- Vector stores
- **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to view all permissions for a fine-tuned model checkpoint.
- **NOTE:** This endpoint requires an [admin API key](../admin-api-keys). Organization owners can use this endpoint to view all permissions for a fine-tuned model checkpoint.
- Fine-tuning
- Get status updates for a fine-tuning job.
- Get status updates for a fine-tuning job.
- Fine-tuning
- List checkpoints for a fine-tuning job.
- List checkpoints for a fine-tuning job.
- Fine-tuning
- Lists the organization roles assigned to a group within the organization.
- Lists the organization roles assigned to a group within the organization.
- Group organization role assignments
- Lists the users assigned to a group.
- Lists the users assigned to a group.
- Group users
- Lists all groups in the organization.
- Lists all groups in the organization.
- Groups
- Returns a list of input items for a given response.
- Returns a list of input items for a given response.
- Responses
- Returns a list of invites in the organization.
- Returns a list of invites in the organization.
- Invites
- Returns a list of messages for a given thread.
- Returns a list of messages for a given thread.
- Assistants
- Lists the currently available models, and provides basic information about each one such as the owner and availability.
- Lists the currently available models, and provides basic information about each one such as the owner and availability.
- Models
- List uploaded certificates for this organization.
- List uploaded certificates for this organization.
- Certificates
- Lists organization spend alerts.
- Lists organization spend alerts.
- Spend alerts
- List your organization's fine-tuning jobs
- List your organization's fine-tuning jobs
- Fine-tuning
- Returns a list of API keys in the project.
- Returns a list of API keys in the project.
- Projects
- List certificates for this project.
- List certificates for this project.
- Certificates
- Lists the project roles assigned to a group within a project.
- Lists the project roles assigned to a group within a project.
- Project group role assignments
- Lists the groups that have access to a project.
- Lists the groups that have access to a project.
- Project groups
- Returns the rate limits per model for a project.
- Returns the rate limits per model for a project.
- Projects
- Lists the roles configured for a project.
- Lists the roles configured for a project.
- Roles
- Returns a list of service accounts in the project.
- Returns a list of service accounts in the project.
- Projects
- Lists project spend alerts.
- Lists project spend alerts.
- Spend alerts
- Lists the project roles assigned to a user within a project.
- Lists the project roles assigned to a user within a project.
- Project user role assignments
- Returns a list of users in the project.
- Returns a list of users in the project.
- Projects
- Returns a list of projects.
- Returns a list of projects.
- Projects
- Lists the roles configured for the organization.
- Lists the roles configured for the organization.
- Roles
- Returns a list of run steps belonging to a run.
- Returns a list of run steps belonging to a run.
- Assistants
- Returns a list of runs belonging to a thread.
- Returns a list of runs belonging to a thread.
- Assistants
- List skill versions for a skill.
- List skill versions for a skill.
- Skills
- List all skills for the current project.
- List all skills for the current project.
- Skills
- List items that belong to a ChatKit thread.
- List items that belong to a ChatKit thread.
- listthreaditemsmethod
- List ChatKit threads with optional pagination and user filters.
- List ChatKit threads with optional pagination and user filters.
- listthreadsmethod
- Lists the organization roles assigned to a user within the organization.
- Lists the organization roles assigned to a user within the organization.
- User organization role assignments
- Lists all of the users in the organization.
- Lists all of the users in the organization.
- Users
- Returns a list of vector store files.
- Returns a list of vector store files.
- Vector stores
- Returns a list of vector stores.
- Returns a list of vector stores.
- Vector stores
- List recently generated videos for the current project.
- List recently generated videos for the current project.
- Videos
- Returns a list of voice consent recordings.
- List consent recordings available to your organization for creating custom voices. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers.
- Audio
- Modifies an assistant.
- Modifies an assistant.
- Assistants
- Modify a certificate. Note that only the name can be modified.
- Modify a certificate. Note that only the name can be modified.
- Certificates
- Modifies a message.
- Modifies a message.
- Assistants
- Modifies a project in the organization.
- Modifies a project in the organization.
- Projects
- Modifies a user's role in the project.
- Modifies a user's role in the project.
- Projects
- Modifies a run.
- Modifies a run.
- Assistants
- Modifies a thread.
- Modifies a thread.
- Assistants
- Modifies a user's role in the organization.
- Modifies a user's role in the organization.
- Users
- Modifies a vector store.
- Modifies a vector store.
- Vector stores
- Pause a fine-tune job.
- Pause a fine-tune job.
- Fine-tuning
- Transfer an active SIP call to a new destination using the SIP REFER verb.
- Transfer an active SIP call to a new destination using the SIP REFER verb.
- Realtime
- Decline an incoming SIP call by returning a SIP status code to the caller.
- Decline an incoming SIP call by returning a SIP status code to the caller.
- Realtime
- Removes a user from a group.
- Removes a user from a group.
- Group users
- Revokes a group's access to a project.
- Revokes a group's access to a project.
- Project groups
- Resume a fine-tune job.
- Resume a fine-tune job.
- Fine-tuning
- Retrieves a batch.
- Retrieves a batch.
- Batch
- Retrieve Container
- Retrieves a container.
- retrievecontainer
- Retrieve Container File
- Retrieves a container file.
- retrievecontainerfile
- Retrieve Container File Content
- Retrieves a container file content.
- retrievecontainerfilecontent
- Returns information about a specific file.
- Returns information about a specific file.
- Files
- Get info about a fine-tuning job. [Learn more about fine-tuning](/docs/guides/model-optimization)
- Get info about a fine-tuning job. [Learn more about fine-tuning](/docs/guides/model-optimization)
- Fine-tuning
- Retrieves a group.
- Retrieves a group.
- Groups
- Retrieves an organization role assigned to a group.
- Retrieves an organization role assigned to a group.
- Group organization role assignments
- Retrieves a user in a group.
- Retrieves a user in a group.
- Group users
- Retrieves an invite.
- Retrieves an invite.
- Invites
- Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
- Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
- Models
- Retrieves organization data retention controls.
- Retrieves organization data retention controls.
- Data retention
- Retrieves an organization spend alert.
- Retrieves an organization spend alert.
- Spend alerts
- Retrieves a project.
- Retrieves a project.
- Projects
- Retrieves an API key in the project.
- Retrieves an API key in the project.
- Projects
- Retrieves project data retention controls.
- Retrieves project data retention controls.
- Data retention
- Retrieves a project's group.
- Retrieves a project's group.
- Project groups
- Retrieves a project role assigned to a group.
- Retrieves a project role assigned to a group.
- Project group role assignments
- Returns hosted tool permissions for a project.
- Returns hosted tool permissions for a project.
- Hosted tools
- Returns model permissions for a project.
- Returns model permissions for a project.
- Projects
- Retrieves a project role.
- Retrieves a project role.
- Roles
- Retrieves a service account in the project.
- Retrieves a service account in the project.
- Projects
- Retrieves a project spend alert.
- Retrieves a project spend alert.
- Spend alerts
- Retrieves a user in the project.
- Retrieves a user in the project.
- Projects
- Retrieves a project role assigned to a user.
- Retrieves a project role assigned to a user.
- Project user role assignments
- Retrieves an organization role.
- Retrieves an organization role.
- Roles
- Retrieves a user by their identifier.
- Retrieves a user by their identifier.
- Users
- Retrieves an organization role assigned to a user.
- Retrieves an organization role assigned to a user.
- User organization role assignments
- Retrieve the parsed contents of a vector store file.
- Retrieve the parsed contents of a vector store file.
- Vector stores
- Download the generated video bytes or a derived preview asset. Streams the rendered video content for the specified video job.
- Download the generated video bytes or a derived preview asset. Streams the rendered video content for the specified video job.
- Videos
- Run a grader.
- Run a grader.
- Fine-tuning
- Search a vector store for relevant chunks based on a query and file attributes filter.
- Search a vector store for relevant chunks based on a query and file attributes filter.
- Vector stores
- When a run has the `status: "requires_action"` and `required_action.type` is `submit_tool_outputs`, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request.
- When a run has the `status: "requires_action"` and `required_action.type` is `submit_tool_outputs`, this endpoint can be used to submit the outputs from the tool calls once they're all completed. All outputs must be submitted in a single request.
- Assistants
- Unassigns an organization role from a group within the organization.
- Unassigns an organization role from a group within the organization.
- Group organization role assignments
- Unassigns a project role from a group within a project.
- Unassigns a project role from a group within a project.
- Project group role assignments
- Unassigns a project role from a user within a project.
- Unassigns a project role from a user within a project.
- Project user role assignments
- Unassigns an organization role from a user within the organization.
- Unassigns an organization role from a user within the organization.
- User organization role assignments
- Modify a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be modified. Currently, the only supported modification is to update the `metadata` field.
- Modify a stored chat completion. Only Chat Completions that have been created with the `store` parameter set to `true` can be modified. Currently, the only supported modification is to update the `metadata` field.
- Chat
- Update a conversation
- Update a conversation
- Conversations
- Update certain properties of an evaluation.
- Update certain properties of an evaluation.
- Evals
- Updates a group's information.
- Updates a group's information.
- Groups
- Updates organization data retention controls.
- Updates organization data retention controls.
- Data retention
- Updates an organization spend alert.
- Updates an organization spend alert.
- Spend alerts
- Updates project data retention controls.
- Updates project data retention controls.
- Data retention
- Updates hosted tool permissions for a project.
- Updates hosted tool permissions for a project.
- Hosted tools
- Updates model permissions for a project.
- Updates model permissions for a project.
- Projects
- Updates a project rate limit.
- Updates a project rate limit.
- Projects
- Updates an existing project role.
- Updates an existing project role.
- Roles
- Updates a service account in the project.
- Updates a service account in the project.
- Projects
- Updates a project spend alert.
- Updates a project spend alert.
- Spend alerts
- Updates an existing organization role.
- Updates an existing organization role.
- Roles
- Update the default version pointer for a skill.
- Update the default version pointer for a skill.
- Skills
- Update attributes on a vector store file.
- Update attributes on a vector store file.
- Vector stores
- Updates a voice consent recording (metadata only).
- Update consent recording metadata used for creating custom voices. This endpoint updates metadata only and does not replace the underlying audio. See the [custom voices guide](/docs/guides/text-to-speech#custom-voices). Custom voices are limited to eligible customers.
- Audio
- Create or replace the organization's hard spend limit.
- Create or replace the organization's hard spend limit.
- updateorganizationspendlimit
- Create or replace a project's hard spend limit.
- Create or replace a project's hard spend limit.
- updateprojectspendlimit
- Upload a certificate to the organization. This does **not** automatically activate the certificate. Organizations can upload up to 50 certificates.
- Upload a certificate to the organization. This does **not** automatically activate the certificate. Organizations can upload up to 50 certificates.
- Certificates
- Get audio speeches usage details for the organization.
- Get audio speeches usage details for the organization.
- Usage
- Get audio transcriptions usage details for the organization.
- Get audio transcriptions usage details for the organization.
- Usage
- Get code interpreter sessions usage details for the organization.
- Get code interpreter sessions usage details for the organization.
- Usage
- Get completions usage details for the organization.
- Get completions usage details for the organization.
- Usage
- Get costs details for the organization.
- Get costs details for the organization.
- Usage
- Get embeddings usage details for the organization.
- Get embeddings usage details for the organization.
- Usage
- Get file search calls usage details for the organization.
- Get file search calls usage details for the organization.
- Usage
- Get images usage details for the organization.
- Get images usage details for the organization.
- Usage
- Get moderations usage details for the organization.
- Get moderations usage details for the organization.
- Usage
- Get vector stores usage details for the organization.
- Get vector stores usage details for the organization.
- Usage
- Get web search calls usage details for the organization.
- Get web search calls usage details for the organization.
- Usage
- Validate a grader.
- Validate a grader.
- Fine-tuning
OpenAI integration, answered
- How do AI agents use OpenAI through Open Connector?
- Your user connects OpenAI once with one of its cataloged authentication methods. Open Connector stores the credential in an encrypted vault and exposes OpenAI tools to your agent over MCP or a typed API, with credentials injected server-side on each call.
- Is this a OpenAI MCP server?
- Yes. Open Connector can serve OpenAI as a named MCP server with a scoped allowlist and a per-user connection URL, so any MCP client can call OpenAI actions with credentials injected server-side.
- Where do OpenAI credentials live?
- In your own infrastructure. Open Connector keeps credentials in its own vault and injects them at call time, so they never leave your environment.
Give your agents OpenAI — keep the keys.
Open source, self-hostable, with OpenAI credentials that never leave your infrastructure. Run it from source today.