# OpenAI API API

> OpenAI API API on Apizie: 355 endpoints (Create speech, Create transcription, Create translation, List voice consents, …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://www.apizie.tech/v1/ai:openai/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `ai:openai`
- Category: Artificial Intelligence
- Status: byok
- Source: https://help.openai.com/
- Page: https://www.apizie.tech/api/ai/openai
- OpenAPI: https://www.apizie.tech/api/ai/openai/openapi.json

The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.

## Endpoints

### Create speech
`POST https://www.apizie.tech/v1/ai:openai/create-speech` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create transcription
`POST https://www.apizie.tech/v1/ai:openai/create-transcription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Create translation
`POST https://www.apizie.tech/v1/ai:openai/create-translation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### List voice consents
`GET https://www.apizie.tech/v1/ai:openai/list-voice-consents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |

### Create voice consent
`POST https://www.apizie.tech/v1/ai:openai/create-voice-consent` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieve voice consent
`GET https://www.apizie.tech/v1/ai:openai/get-voice-consent` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| consent_id | string | yes | The ID of the consent recording to retrieve. |

### Update voice consent
`POST https://www.apizie.tech/v1/ai:openai/update-voice-consent` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| consent_id | string | yes | The ID of the consent recording to update. |
| body | object | yes | JSON request body |

### Delete voice consent
`POST https://www.apizie.tech/v1/ai:openai/delete-voice-consent` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| consent_id | string | yes | The ID of the consent recording to delete. |

### Create voice
`POST https://www.apizie.tech/v1/ai:openai/create-voice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Delete voice
`POST https://www.apizie.tech/v1/ai:openai/delete-voice` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| voice_id | string | yes | The ID of the voice to delete. |

### List batches
`GET https://www.apizie.tech/v1/ai:openai/list-batches` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |

### Create batch
`POST https://www.apizie.tech/v1/ai:openai/create-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve batch
`GET https://www.apizie.tech/v1/ai:openai/retrieve-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| batch_id | string | yes | The ID of the batch to retrieve. |

### Cancel batch
`POST https://www.apizie.tech/v1/ai:openai/cancel-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| batch_id | string | yes | The ID of the batch to cancel. |

### List Chat Completions
`GET https://www.apizie.tech/v1/ai:openai/list-chat-completions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | no | The model used to generate the Chat Completions. |
| metadata | string | no | A list of metadata keys to filter the Chat Completions by. Example: `metadata[key1]=value1&metadata[key2]=value2` |
| after | string | no | Identifier for the last chat completion from the previous pagination request. |
| limit | integer | no | Number of Chat Completions to retrieve. |
| order | string | no | Sort order for Chat Completions by timestamp. Use `asc` for ascending order or `desc` for descending order. Defaults to `asc`. |

### Create chat completion
`POST https://www.apizie.tech/v1/ai:openai/create-chat-completion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get chat completion
`GET https://www.apizie.tech/v1/ai:openai/get-chat-completion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| completion_id | string | yes | The ID of the chat completion to retrieve. |

### Update chat completion
`POST https://www.apizie.tech/v1/ai:openai/update-chat-completion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| completion_id | string | yes | The ID of the chat completion to update. |
| body | object | yes | JSON request body |

### Delete chat completion
`POST https://www.apizie.tech/v1/ai:openai/delete-chat-completion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| completion_id | string | yes | The ID of the chat completion to delete. |

### Get chat messages
`GET https://www.apizie.tech/v1/ai:openai/get-chat-completion-messages` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| completion_id | string | yes | The ID of the chat completion to retrieve messages from. |
| after | string | no | Identifier for the last message from the previous pagination request. |
| limit | integer | no | Number of messages to retrieve. |
| order | string | no | Sort order for messages by timestamp. Use `asc` for ascending order or `desc` for descending order. Defaults to `asc`. |

### Create completion
`POST https://www.apizie.tech/v1/ai:openai/create-completion` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List containers
`GET https://www.apizie.tech/v1/ai:openai/list-containers` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| order | string | no | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| name | string | no | Filter results by container name. |

### Create container
`POST https://www.apizie.tech/v1/ai:openai/create-container` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | no | JSON request body |

### Retrieve container
`GET https://www.apizie.tech/v1/ai:openai/retrieve-container` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |

### Delete a container
`POST https://www.apizie.tech/v1/ai:openai/delete-container` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes | The ID of the container to delete. |

### List container files
`GET https://www.apizie.tech/v1/ai:openai/list-container-files` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| order | string | no | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |

### Create container file
`POST https://www.apizie.tech/v1/ai:openai/create-container-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |
| body | object | yes | JSON request body |

### Retrieve container file
`GET https://www.apizie.tech/v1/ai:openai/retrieve-container-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |
| file_id | string | yes |  |

### Delete a container file
`POST https://www.apizie.tech/v1/ai:openai/delete-container-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |
| file_id | string | yes |  |

### Retrieve container file content
`GET https://www.apizie.tech/v1/ai:openai/retrieve-container-file-content` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| container_id | string | yes |  |
| file_id | string | yes |  |

### List items
`GET https://www.apizie.tech/v1/ai:openai/list-conversation-items` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| conversation_id | string | yes | The ID of the conversation to list items for. |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| order | string | no | The order to return the input items in. Default is `desc`. - `asc`: Return the input items in ascending order. - `desc`: Return the input… |
| after | string | no | An item ID to list items after, used in pagination. |
| include | array | no | Specify additional output data to include in the model response. Currently supported values are: - `web_search_call.action.sources`:… |

### Create items
`POST https://www.apizie.tech/v1/ai:openai/create-conversation-items` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| conversation_id | string | yes | The ID of the conversation to add the item to. |
| include | array | no | Additional fields to include in the response. See the `include` parameter for [listing Conversation items… |
| body | object | yes | JSON request body |

### Retrieve an item
`GET https://www.apizie.tech/v1/ai:openai/get-conversation-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| conversation_id | string | yes | The ID of the conversation that contains the item. |
| item_id | string | yes | The ID of the item to retrieve. |
| include | array | no | Additional fields to include in the response. See the `include` parameter for [listing Conversation items… |

### Delete an item
`POST https://www.apizie.tech/v1/ai:openai/delete-conversation-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| conversation_id | string | yes | The ID of the conversation that contains the item. |
| item_id | string | yes | The ID of the item to delete. |

### Create embeddings
`POST https://www.apizie.tech/v1/ai:openai/create-embedding` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List evals
`GET https://www.apizie.tech/v1/ai:openai/list-evals` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | Identifier for the last eval from the previous pagination request. |
| limit | integer | no | Number of evals to retrieve. |
| order | string | no | Sort order for evals by timestamp. Use `asc` for ascending order or `desc` for descending order. |
| order_by | string | no | Evals can be ordered by creation time or last updated time. Use `created_at` for creation time or `updated_at` for last updated time. |

### Create eval
`POST https://www.apizie.tech/v1/ai:openai/create-eval` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get an eval
`GET https://www.apizie.tech/v1/ai:openai/get-eval` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to retrieve. |

### Update an eval
`POST https://www.apizie.tech/v1/ai:openai/update-eval` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to update. |
| body | object | yes | JSON request body |

### Delete an eval
`POST https://www.apizie.tech/v1/ai:openai/delete-eval` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to delete. |

### Get eval runs
`GET https://www.apizie.tech/v1/ai:openai/get-eval-runs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to retrieve runs for. |
| after | string | no | Identifier for the last run from the previous pagination request. |
| limit | integer | no | Number of runs to retrieve. |
| order | string | no | Sort order for runs by timestamp. Use `asc` for ascending order or `desc` for descending order. Defaults to `asc`. |
| status | string | no | Filter runs by status. One of `queued` / `in_progress` / `failed` / `completed` / `canceled`. |

### Create eval run
`POST https://www.apizie.tech/v1/ai:openai/create-eval-run` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to create a run for. |
| body | object | yes | JSON request body |

### Get an eval run
`GET https://www.apizie.tech/v1/ai:openai/get-eval-run` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to retrieve runs for. |
| run_id | string | yes | The ID of the run to retrieve. |

### Delete eval run
`POST https://www.apizie.tech/v1/ai:openai/delete-eval-run` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to delete the run from. |
| run_id | string | yes | The ID of the run to delete. |

### Cancel eval run
`POST https://www.apizie.tech/v1/ai:openai/cancel-eval-run` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation whose run you want to cancel. |
| run_id | string | yes | The ID of the run to cancel. |

### Get eval run output items
`GET https://www.apizie.tech/v1/ai:openai/get-eval-run-output-items` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to retrieve runs for. |
| run_id | string | yes | The ID of the run to retrieve output items for. |
| after | string | no | Identifier for the last output item from the previous pagination request. |
| limit | integer | no | Number of output items to retrieve. |
| status | string | no | Filter output items by status. Use `failed` to filter by failed output items or `pass` to filter by passed output items. |
| order | string | no | Sort order for output items by timestamp. Use `asc` for ascending order or `desc` for descending order. Defaults to `asc`. |

### Get an output item of an eval run
`GET https://www.apizie.tech/v1/ai:openai/get-eval-run-output-item` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| eval_id | string | yes | The ID of the evaluation to retrieve runs for. |
| run_id | string | yes | The ID of the run to retrieve. |
| output_item_id | string | yes | The ID of the output item to retrieve. |

### List files
`GET https://www.apizie.tech/v1/ai:openai/list-files` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| purpose | string | no | Only return files with the given purpose. |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 10,000, and the default is 10,000. |
| order | string | no | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |

### Upload file
`POST https://www.apizie.tech/v1/ai:openai/create-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Retrieve file
`GET https://www.apizie.tech/v1/ai:openai/retrieve-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file_id | string | yes | The ID of the file to use for this request. |

### Delete file
`POST https://www.apizie.tech/v1/ai:openai/delete-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file_id | string | yes | The ID of the file to use for this request. |

### Retrieve file content
`GET https://www.apizie.tech/v1/ai:openai/download-file` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| file_id | string | yes | The ID of the file to use for this request. |

### Run grader
`POST https://www.apizie.tech/v1/ai:openai/run-grader` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Validate grader
`POST https://www.apizie.tech/v1/ai:openai/validate-grader` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List checkpoint permissions
`GET https://www.apizie.tech/v1/ai:openai/list-fine-tuning-checkpoint-permissions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuned_model_checkpoint | string | yes | The ID of the fine-tuned model checkpoint to get permissions for. |
| project_id | string | no | The ID of the project to get permissions for. |
| after | string | no | Identifier for the last permission ID from the previous pagination request. |
| limit | integer | no | Number of permissions to retrieve. |
| order | string | no | The order in which to retrieve permissions. |

### Create checkpoint permissions
`POST https://www.apizie.tech/v1/ai:openai/create-fine-tuning-checkpoint-permission` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuned_model_checkpoint | string | yes | The ID of the fine-tuned model checkpoint to create a permission for. |
| body | object | yes | JSON request body |

### Delete checkpoint permission
`POST https://www.apizie.tech/v1/ai:openai/delete-fine-tuning-checkpoint-permission` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuned_model_checkpoint | string | yes | The ID of the fine-tuned model checkpoint to delete a permission for. |
| permission_id | string | yes | The ID of the fine-tuned model checkpoint permission to delete. |

### List fine-tuning jobs
`GET https://www.apizie.tech/v1/ai:openai/list-paginated-fine-tuning-jobs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | Identifier for the last job from the previous pagination request. |
| limit | integer | no | Number of fine-tuning jobs to retrieve. |
| metadata | string | no | Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Omitting the parameter or passing an empty object applies no metadata… |

### Create fine-tuning job
`POST https://www.apizie.tech/v1/ai:openai/create-fine-tuning-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve fine-tuning job
`GET https://www.apizie.tech/v1/ai:openai/retrieve-fine-tuning-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job. |

### Cancel fine-tuning
`POST https://www.apizie.tech/v1/ai:openai/cancel-fine-tuning-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job to cancel. |

### List fine-tuning checkpoints
`GET https://www.apizie.tech/v1/ai:openai/list-fine-tuning-job-checkpoints` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job to get checkpoints for. |
| after | string | no | Identifier for the last checkpoint ID from the previous pagination request. |
| limit | integer | no | Number of checkpoints to retrieve. |

### List fine-tuning events
`GET https://www.apizie.tech/v1/ai:openai/list-fine-tuning-events` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job to get events for. |
| after | string | no | Identifier for the last event from the previous pagination request. |
| limit | integer | no | Number of events to retrieve. |

### Pause fine-tuning
`POST https://www.apizie.tech/v1/ai:openai/pause-fine-tuning-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job to pause. |

### Resume fine-tuning
`POST https://www.apizie.tech/v1/ai:openai/resume-fine-tuning-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| fine_tuning_job_id | string | yes | The ID of the fine-tuning job to resume. |

### Create image edit
`POST https://www.apizie.tech/v1/ai:openai/create-image-edit` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | Form fields as a JSON object |

### Create image
`POST https://www.apizie.tech/v1/ai:openai/create-image` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Create session
`POST https://www.apizie.tech/v1/ai:openai/create-live` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Accept call
`POST https://www.apizie.tech/v1/ai:openai/accept-live-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | yes | Opaque Live session identifier from the creation response or incoming-call webhook. Preserve the returned value unchanged, including its… |
| body | object | yes | JSON request body |

### Fork session
`POST https://www.apizie.tech/v1/ai:openai/fork-live-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | yes | The ID of the stored Live session to fork. |
| body | object | yes | JSON request body |

### Hang up session
`POST https://www.apizie.tech/v1/ai:openai/hangup-live-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | yes | Opaque Live session identifier from the creation response or incoming-call webhook. Preserve the returned value unchanged, including its… |

### Transfer call
`POST https://www.apizie.tech/v1/ai:openai/refer-live-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | yes | Opaque Live session identifier from the creation response or incoming-call webhook. Preserve the returned value unchanged, including its… |
| body | object | yes | JSON request body |

### Reject call
`POST https://www.apizie.tech/v1/ai:openai/reject-live-session` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| session_id | string | yes | Opaque Live session identifier from the creation response or incoming-call webhook. Preserve the returned value unchanged, including its… |
| body | object | yes | JSON request body |

### List models
`GET https://www.apizie.tech/v1/ai:openai/list-models` (byok)

### Retrieve model
`GET https://www.apizie.tech/v1/ai:openai/retrieve-model` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | yes | The ID of the model to use for this request |

### Delete a fine-tuned model
`POST https://www.apizie.tech/v1/ai:openai/delete-model` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | yes | The model to delete |

### Create moderation
`POST https://www.apizie.tech/v1/ai:openai/create-moderation` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List all organization and project API keys.
`GET https://www.apizie.tech/v1/ai:openai/admin-api-keys-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| after | string | no | Return keys with IDs that come after this ID in the pagination order. |
| order | string | no | Order results by creation time, ascending or descending. |
| limit | integer | no | Maximum number of keys to return. |

### Create admin API key
`POST https://www.apizie.tech/v1/ai:openai/admin-api-keys-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve admin API key
`GET https://www.apizie.tech/v1/ai:openai/admin-api-keys-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key_id | string | yes | The ID of the API key. |

### Delete admin API key
`POST https://www.apizie.tech/v1/ai:openai/admin-api-keys-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| key_id | string | yes | The ID of the API key to be deleted. |

### List audit logs
`GET https://www.apizie.tech/v1/ai:openai/list-audit-logs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| effective_at | object | no | Return only events whose `effective_at` (Unix seconds) is in this range. |
| project_ids[] | array | no | Return only events for these projects. |
| event_types[] | array | no | Return only events with a `type` in one of these values. For example, `project.created`. For all options, see the documentation for the… |
| actor_ids[] | array | no | Return only events performed by these actors. Can be a user ID, a service account ID, or an api key tracking ID. |
| actor_emails[] | array | no | Return only events performed by users with these emails. |
| resource_ids[] | array | no | Return only events performed on these targets. For example, a project ID updated. For ChatGPT connector role events, use the workspace… |
| tenant_only | boolean | no | Return only tenant-scoped events associated with this organization. Required for tenant-scoped events such as `role.bound_to_resource` and… |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| before | string | no | A cursor for use in pagination. `before` is an object ID that defines your place in the list. For instance, if you make a list request and… |

### List organization certificates
`GET https://www.apizie.tech/v1/ai:openai/list-organization-certificates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| order | string | no | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |

### Upload certificate
`POST https://www.apizie.tech/v1/ai:openai/upload-certificate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Activate certificates for organization
`POST https://www.apizie.tech/v1/ai:openai/activate-organization-certificates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Deactivate certificates for organization
`POST https://www.apizie.tech/v1/ai:openai/deactivate-organization-certificates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Get certificate
`GET https://www.apizie.tech/v1/ai:openai/get-certificate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| certificate_id | string | yes | Unique ID of the certificate to retrieve. |
| include | array | no | A list of additional fields to include in the response. Currently the only supported value is `content` to fetch the PEM content of the… |

### Modify certificate
`POST https://www.apizie.tech/v1/ai:openai/modify-certificate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| certificate_id | string | yes | Unique ID of the certificate to modify. |
| body | object | yes | JSON request body |

### Delete certificate
`POST https://www.apizie.tech/v1/ai:openai/delete-certificate` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| certificate_id | string | yes | Unique ID of the certificate to delete. |

### Costs
`GET https://www.apizie.tech/v1/ai:openai/usage-costs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| start_time | integer | yes | Start time (Unix seconds) of the query time range, inclusive. |
| end_time | integer | no | End time (Unix seconds) of the query time range, exclusive. |
| bucket_width | string | no | Width of each time bucket in response. Currently only `1d` is supported, default to `1d`. |
| project_ids | array | no | Return only costs for these projects. |
| api_key_ids | array | no | Return only costs for these API keys. |
| line_items | array | no | Return only costs for these exact line item names. Each value must match the complete `line_item` value, for example `gpt-6-astra,… |
| group_by | array | no | Group the costs by the specified fields. Supported fields include `project_id`, `user_id`, `line_item`, `api_key_id`, and `api_source`.… |
| limit | integer | no | A limit on the number of buckets to be returned. Limit can range between 1 and 180, and the default is 7. |
| page | string | no | A cursor for use in pagination. Corresponding to the `next_page` field from the previous response. |

### Retrieve organization data retention
`GET https://www.apizie.tech/v1/ai:openai/retrieve-organization-data-retention` (byok)

### Update organization data retention
`POST https://www.apizie.tech/v1/ai:openai/update-organization-data-retention` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### List groups
`GET https://www.apizie.tech/v1/ai:openai/list-groups` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | A limit on the number of groups to be returned. Limit can range between 0 and 1000, and the default is 100. |
| after | string | no | A cursor for use in pagination. `after` is a group ID that defines your place in the list. For instance, if you make a list request and… |
| order | string | no | Specifies the sort order of the returned groups. |

### Create group
`POST https://www.apizie.tech/v1/ai:openai/create-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve group
`GET https://www.apizie.tech/v1/ai:openai/retrieve-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to retrieve. |

### Update group
`POST https://www.apizie.tech/v1/ai:openai/update-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to update. |
| body | object | yes | JSON request body |

### Delete group
`POST https://www.apizie.tech/v1/ai:openai/delete-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to delete. |

### List group organization role assignments
`GET https://www.apizie.tech/v1/ai:openai/list-group-role-assignments` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group whose organization role assignments you want to list. |
| limit | integer | no | A limit on the number of organization role assignments to return. |
| after | string | no | Cursor for pagination. Provide the value from the previous response's `next` field to continue listing organization roles. |
| order | string | no | Sort order for the returned organization roles. |

### Assign organization role to group
`POST https://www.apizie.tech/v1/ai:openai/assign-group-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group that should receive the organization role. |
| body | object | yes | JSON request body |

### Retrieve group organization role
`GET https://www.apizie.tech/v1/ai:openai/retrieve-group-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to inspect. |
| role_id | string | yes | The ID of the organization role to retrieve for the group. |

### Unassign organization role from group
`POST https://www.apizie.tech/v1/ai:openai/unassign-group-role` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to modify. |
| role_id | string | yes | The ID of the organization role to remove from the group. |

### List group users
`GET https://www.apizie.tech/v1/ai:openai/list-group-users` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to inspect. |
| limit | integer | no | A limit on the number of users to be returned. Limit can range between 0 and 1000, and the default is 100. |
| after | string | no | A cursor for use in pagination. Provide the ID of the last user from the previous list response to retrieve the next page. |
| order | string | no | Specifies the sort order of users in the list. |

### Add group user
`POST https://www.apizie.tech/v1/ai:openai/add-group-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to update. |
| body | object | yes | JSON request body |

### Retrieve group user
`GET https://www.apizie.tech/v1/ai:openai/retrieve-group-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to inspect. |
| user_id | string | yes | The ID of the user to retrieve from the group. |

### Remove group user
`POST https://www.apizie.tech/v1/ai:openai/remove-group-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| group_id | string | yes | The ID of the group to update. |
| user_id | string | yes | The ID of the user to remove from the group. |

### List invites
`GET https://www.apizie.tech/v1/ai:openai/list-invites` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |

### Create invite
`POST https://www.apizie.tech/v1/ai:openai/invite-user` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve invite
`GET https://www.apizie.tech/v1/ai:openai/retrieve-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invite_id | string | yes | The ID of the invite to retrieve. |

### Delete invite
`POST https://www.apizie.tech/v1/ai:openai/delete-invite` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| invite_id | string | yes | The ID of the invite to delete. |

### List projects
`GET https://www.apizie.tech/v1/ai:openai/list-projects` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| include_archived | boolean | no | If `true` returns all projects including those that have been `archived`. Archived projects are not included by default. |

### Create project
`POST https://www.apizie.tech/v1/ai:openai/create-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| body | object | yes | JSON request body |

### Retrieve project
`GET https://www.apizie.tech/v1/ai:openai/retrieve-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |

### Modify project
`POST https://www.apizie.tech/v1/ai:openai/modify-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| body | object | yes | JSON request body |

### List project API keys
`GET https://www.apizie.tech/v1/ai:openai/list-project-api-keys` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| owner_project_access | string | no | Filter API keys by whether the owner currently has effective access to the project. Use `active` for owners with access, `inactive` for… |

### Retrieve project API key
`GET https://www.apizie.tech/v1/ai:openai/retrieve-project-api-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| api_key_id | string | yes | The ID of the API key. |

### Update project API key
`POST https://www.apizie.tech/v1/ai:openai/update-project-api-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| api_key_id | string | yes | The ID of the API key. |
| body | object | yes | JSON request body |

### Delete project API key
`POST https://www.apizie.tech/v1/ai:openai/delete-project-api-key` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| api_key_id | string | yes | The ID of the API key. |

### Archive project
`POST https://www.apizie.tech/v1/ai:openai/archive-project` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |

### List project certificates
`GET https://www.apizie.tech/v1/ai:openai/list-project-certificates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| limit | integer | no | A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20. |
| after | string | no | A cursor for use in pagination. `after` is an object ID that defines your place in the list. For instance, if you make a list request and… |
| order | string | no | Sort order by the `created_at` timestamp of the objects. `asc` for ascending order and `desc` for descending order. |

### Activate certificates for project
`POST https://www.apizie.tech/v1/ai:openai/activate-project-certificates` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| project_id | string | yes | The ID of the project. |
| body | object | yes | JSON request body |

…and 235 more. See the OpenAPI spec.

## Example
```
curl "https://www.apizie.tech/v1/ai:openai/create-speech" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the OpenAI API API?
Create a free Apizie key, then send POST https://www.apizie.tech/v1/ai:openai/create-speech with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the OpenAI API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. OpenAI API itself also needs your own key from openai2.

### Can AI agents use the OpenAI API API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key ai:openai.

### What is the status of the OpenAI API API?
Needs your own provider key (bring your own key)
