OpenAI integrationOpenAI logo

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.

What your agents can do

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. 1

    Your user grants OpenAI access once (OAuth) — the token lands in the vault.

  2. 2

    Your agent calls a tool over MCP or the typed API; Open Connector injects the credential server-side.

  3. 3

    Every routed call appends a hash-chained audit record — nothing leaves your infra.

Tools & triggers

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
FAQ

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.