# API Reference API

> API Reference API on Apizie: 26 endpoints (Chat API (v1), Chat API (v2), Parse API (v2), Embed API (v1), …) 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://zieapi.vercel.app/v1/ai:cohere/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `ai:cohere`
- Category: Artificial Intelligence
- Status: byok
- Source: https://cohere.com/
- Page: https://zieapi.vercel.app/api/ai/cohere
- OpenAPI: https://zieapi.vercel.app/api/ai/cohere/openapi.json

The Cohere API for interacting with Chat, Embed and Rerank models.

## Endpoints

### Chat API (v1)
`POST https://zieapi.vercel.app/v1/ai:cohere/chat` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| Accepts | string | no | Pass text/event-stream to receive the streamed response as server-sent events. The default is `\n` delimited events. |
| body | object | no | JSON request body |

### Chat API (v2)
`POST https://zieapi.vercel.app/v1/ai:cohere/chatv2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Parse API (v2)
`POST https://zieapi.vercel.app/v1/ai:cohere/parsev2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | yes | JSON request body |

### Embed API (v1)
`POST https://zieapi.vercel.app/v1/ai:cohere/embed` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Embed API (v2)
`POST https://zieapi.vercel.app/v1/ai:cohere/embedv2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Create a transcription
`POST https://zieapi.vercel.app/v1/ai:cohere/create-transcription` (byok)

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

### List batches
`GET https://zieapi.vercel.app/v1/ai:cohere/list-batches` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page_size | integer | no | The maximum number of batches to return. The service may return fewer than this value. If unspecified, at most 50 batches will be… |
| page_token | string | no | A page token, received from a previous `ListBatches` call. Provide this to retrieve the subsequent page. |
| order_by | string | no | Batches can be ordered by creation time or last updated time. Use `created_at` for creation time or `updated_at` for last updated time. |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Create a batch
`POST https://zieapi.vercel.app/v1/ai:cohere/create-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | yes | JSON request body |

### Retrieve a batch
`GET https://zieapi.vercel.app/v1/ai:cohere/get-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The batch ID. |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Cancel a batch
`POST https://zieapi.vercel.app/v1/ai:cohere/cancel-batch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The batch ID. |
| X-Client-Name | string | no | The name of the project that is making the request. |

### List Embed Jobs
`GET https://zieapi.vercel.app/v1/ai:cohere/list-embed-jobs` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |

### Create an Embed Job
`POST https://zieapi.vercel.app/v1/ai:cohere/create-embed-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Fetch an Embed Job
`GET https://zieapi.vercel.app/v1/ai:cohere/get-embed-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the embed job to retrieve. |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Cancel an Embed Job
`POST https://zieapi.vercel.app/v1/ai:cohere/cancel-embed-job` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes | The ID of the embed job to cancel. |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Rerank API (v1)
`POST https://zieapi.vercel.app/v1/ai:cohere/rerank` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Rerank API (v2)
`POST https://zieapi.vercel.app/v1/ai:cohere/rerankv2` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### List Datasets
`GET https://zieapi.vercel.app/v1/ai:cohere/list-datasets` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| datasetType | string | no | optional filter by dataset type |
| before | string | no | optional filter before a date |
| after | string | no | optional filter after a date |
| limit | number | no | optional limit to number of results |
| offset | number | no | optional offset to start of results |
| validationStatus | string | no | optional filter by validation status |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Create a Dataset
`POST https://zieapi.vercel.app/v1/ai:cohere/create-dataset` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The name of the uploaded dataset. |
| type | string | yes | The dataset type, which is used to validate the data. The only valid type is `embed-input` used in conjunction with the Embed Jobs API. |
| keep_original_file | boolean | no | Indicates if the original file should be stored. |
| skip_malformed_input | boolean | no | Indicates whether rows with malformed input should be dropped (instead of failing the validation check). Dropped rows will be returned in… |
| keep_fields | array | no | List of names of fields that will be persisted in the Dataset. By default the Dataset will retain only the required fields indicated in… |
| optional_fields | array | no | List of names of fields that will be persisted in the Dataset. By default the Dataset will retain only the required fields indicated in… |
| text_separator | string | no | Raw .txt uploads will be split into entries using the text_separator value. |
| csv_delimiter | string | no | The delimiter used for .csv uploads. |
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | Form fields as a JSON object |

### Get Dataset Usage
`GET https://zieapi.vercel.app/v1/ai:cohere/get-dataset-usage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |

### Get a Dataset
`GET https://zieapi.vercel.app/v1/ai:cohere/get-dataset` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Delete a Dataset
`POST https://zieapi.vercel.app/v1/ai:cohere/delete-dataset` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| id | string | yes |  |
| X-Client-Name | string | no | The name of the project that is making the request. |

### Tokenize
`POST https://zieapi.vercel.app/v1/ai:cohere/tokenize` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Detokenize
`POST https://zieapi.vercel.app/v1/ai:cohere/detokenize` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |
| body | object | no | JSON request body |

### Get a Model
`GET https://zieapi.vercel.app/v1/ai:cohere/get-model` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| model | string | yes |  |
| X-Client-Name | string | no | The name of the project that is making the request. |

### List Models
`GET https://zieapi.vercel.app/v1/ai:cohere/list-models` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| page_size | number | no | Maximum number of models to include in a page Defaults to `20`, min value of `1`, max value of `1000`. |
| page_token | string | no | Page token provided in the `next_page_token` field of a previous response. |
| endpoint | string | no | When provided, filters the list of models to only those that are compatible with the specified endpoint. |
| default_only | boolean | no | When provided, filters the list of models to only the default model to the endpoint. This parameter is only valid when `endpoint` is… |

### Check API key
`POST https://zieapi.vercel.app/v1/ai:cohere/check-apikey` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| X-Client-Name | string | no | The name of the project that is making the request. |

## Example
```
curl "https://zieapi.vercel.app/v1/ai:cohere/chat" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the API Reference API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/ai:cohere/chat with the header x-api-key. Every endpoint returns { project, data, timestamp }.

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

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

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