Skip to main content
In Ragen, an assistant is a project — a named container with its own knowledge base, system instructions, and settings. The Assistants API is an OpenAI-compatible CRUD surface over your projects, which means you can use the openai Python or Node SDK with base_url pointed at your Ragen instance to create, list, update, and delete assistants without writing custom HTTP code.

Endpoints

Authentication:
Assistants are scoped to the organization the API key belongs to, not just the key’s default project. GET /v1/assistants returns every assistant your organization owns.

OpenAI field mapping

Ragen maps OpenAI assistant fields to Ragen project concepts:

Create an assistant

POST /v1/assistants
string
required
The project title displayed in the dashboard.
string
Per-project system prompt. Merged on top of the organization’s default instructions. Pass an empty string to clear any existing instructions.
string
Accepted for OpenAI SDK compatibility; not yet persisted as a per-project override.
number
Accepted for OpenAI SDK compatibility; not yet persisted as a per-project override.
string
Accepted for OpenAI SDK compatibility; returned as-is.
object
Accepted for OpenAI SDK compatibility; returned as-is.

List, retrieve, and modify

GET /v1/assistants returns every assistant in your organization. GET /v1/assistants/{id} retrieves a single assistant. Both POST /v1/assistants/{id} and PATCH /v1/assistants/{id} update an existing assistant — every field is optional, and they accept the same fields as create.

Delete an assistant

DELETE /v1/assistants/{id} — deletes the project and returns:
Self-delete protection: You cannot delete the assistant bound to the API key’s own default project. Attempting it returns a 400 error:
This prevents accidentally breaking your own chat and files context. Issue or rotate to a different key first if you need to delete the bound project.

Examples

Rate limits