---
title: "Create an assistant"
method: POST
path: "/assistants"
tags: ["Manage Assistants"]
---

# Create an assistant

`POST /assistants`

Create an assistant. This is where you specify the underlying training model, which cloud provider you would like to deploy with, and more.

For guidance and examples, see [Create an assistant](https://docs.pinecone.io/guides/assistant/create-assistant)

## Headers

- `X-Pinecone-Api-Version` string, required

## Request body

- AssistantControlCreateAssistantRequest — The configuration needed to create an assistant.
  - `name` string, required — The name of the assistant. Resource name must be 1-63 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or `-`.
  - `instructions` string, nullable — Guidance applied to all responses generated by the assistant. Maximum 16 KB.
  - `metadata` object — Optional metadata associated with the assistant. Metadata is a JSON object that can store custom organizational data, tags, and attributes. Maximum size is 16KB.
  - `region` string — The region to deploy the assistant in. Our current options are either `us` or `eu`. Defaults to `us`.

## Response `200`

Create request successful.

- AssistantControlAssistant — Describes the configuration and status of a Pinecone Assistant.
  - `name` string, required — The name of the assistant. Resource name must be 1-63 characters long, start and end with an alphanumeric character, and consist only of lower case alphanumeric characters or `-`.
  - `instructions` string, nullable — Guidance applied to all responses generated by the assistant.
  - `metadata` object, nullable — Optional metadata associated with the assistant. Metadata is a JSON object that can store custom organizational data, tags, and attributes.
  - `status` string, required — The current operational status of the assistant.
  - `host` string — The host where the assistant is deployed.
  - `region` string — The region where the assistant is deployed.
  - `created_at` string, date-time — The timestamp when the assistant was created, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
  - `updated_at` string, date-time — The timestamp of the most recent update to the assistant, in ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).

## Other responses

- `400` — Bad request. The request body included invalid request parameters.
- `401` — Unauthorized. Possible causes: Invalid API key.
- `429` — Assistant of given name already exists.
- `500` — Internal server error.

---

[API](https://skmtc.net/pinecone/apis/pinecone-api.md) · [All operations](https://skmtc.net/pinecone/apis/pinecone-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/pinecone/pinecone-api/versions/35876583485d/schema)
