canonical: https://jentic.com/apis/customgpt.ai/customgpt-api

# CustomGPT.ai

Jentic publishes the only available OpenAPI specification for CustomGPT.ai, keeping it validated and agent-ready. CustomGPT.ai is a no-code platform for building custom ChatGPT-style agents grounded in private business content, with retrieval over uploaded documents and crawled sites. The API exposes 64 endpoints for managing agents (called projects), ingesting and reindexing documents, sending chat completions in OpenAI-compatible format, and tuning persona settings, citations, and conversation history. It also covers labels, plugins, license keys, reports, and per-agent usage limits.

## For AI agents

Build, configure, and query custom retrieval-augmented chatbots. Agents can create projects, add documents, run chat completions, and inspect citations.

## Scope

Does not handle raw LLM model hosting, vector database management, or generic web scraping - use for managing and querying CustomGPT-hosted retrieval agents only.

## Capabilities

- Provision a CustomGPT agent and ingest documents from URLs or file uploads via /api/v1/projects and /api/v1/projects/{projectId}/pages
- Send retrieval-grounded chat completions in OpenAI-compatible format through /api/v1/projects/{projectId}/chat/completions
- Inspect citation sources for each answer to surface where the bot pulled context from
- Tune persona prompts and roll back to previous persona versions via /api/v1/projects/{projectId}/settings/persona-activate/{version}
- Tag documents and assign user labels to enforce per-segment access control
- Pull agent statistics and conversation reports to measure deflection and usage

## Use cases

### Customer support deflection bot

Stand up a help-desk bot that answers from your knowledge base with cited sources. Create a project, upload help-center articles via /api/v1/projects/{projectId}/pages, and let users chat through the OpenAI-compatible chat completions endpoint. Retrieval and citation are handled by CustomGPT, so engineering work is limited to ingestion and front-end wiring.

Example prompt: Create a project named 'Support Bot', ingest the URL https://help.example.com/sitemap.xml, then send a chat completion asking 'how do I reset my password?' and return the citations array.

### Sales enablement assistant

Train a project on product datasheets, pricing, and competitor battlecards so sales reps can ask natural-language questions and receive grounded answers. Personas can be versioned per region or product line and rolled back via /api/v1/projects/{projectId}/settings/persona-activate/{version}. Reports endpoints expose usage so RevOps can track adoption.

Example prompt: Upload the latest pricing PDF as a page, set the active persona to 'EMEA Sales', and run a chat completion asking 'what is the discount tier for >100 seats?'

### Documentation Q&A widget

Embed a doc-aware bot inside a developer portal. The API lets you ingest a docs site, watch reindex status per page, and stream chat completions back to the widget. Labels segment public versus internal-only sources so the same agent can serve different audiences.

Example prompt: Reindex page 4567 in project 1234 and confirm status is 'finished' before exposing it to the widget.

### Agent-driven knowledge base for AI workflows

Use CustomGPT.ai through Jentic to give an autonomous agent a private, citable knowledge layer. The agent searches Jentic for 'query a custom GPT bot', loads the chat completions schema, and calls the project with the user's question - no SDK, no docs reading, no key handling in the agent context.

Example prompt: Through Jentic, call POST /api/v1/projects/{projectId}/chat/completions on project 1234 with the message 'summarise our Q4 launch plan' and return the answer plus citations.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /api/v1/projects | Create a new agent (project) |
| POST | /api/v1/projects/{projectId}/chat/completions | Send a chat message in OpenAI-compatible format |
| GET | /api/v1/projects/{projectId}/pages | List documents indexed in an agent |
| POST | /api/v1/projects/{projectId}/pages/{pageId}/reindex | Reindex a document after source changes |
| GET | /api/v1/projects/{projectId}/stats | Get agent usage statistics |
| POST | /api/v1/projects/{projectId}/replicate | Clone an agent as a new project |

## Key resources

- **Agents (Projects)** — Create, clone, list, update, and delete CustomGPT agents
- **Pages** — Ingest, reindex, label, and remove documents inside an agent
- **Conversations** — Send chat completions and retrieve historical conversation threads
- **Citations** — Inspect the source documents behind each generated answer
- **Agent Settings** — Manage persona prompts, plugins, and project-level configuration
- **Reports & Analytics** — Pull usage statistics, query volume, and agent performance metrics

## Why Jentic

- **Setup:** Wiring the CustomGPT.ai API by hand means provisioning a bearer token, attaching it to every request, and mapping its project, page, and chat routes across dozens of endpoints yourself. Through Jentic you install once, import CustomGPT.ai from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** CustomGPT.ai puts the project id in the URL path (/api/v1/projects/{projectId}/...), so a rule can pin your agent to one project: it can chat against that project and read its pages and stats. You choose the operations it may call, so a page reindex or project replicate is not included unless you add it.
- **Credential handling:** Your CustomGPT.ai bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'send a chat message to a retrieval agent' or 'list a project's pages', and Jentic returns the matching CustomGPT.ai operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **CustomGPT.ai (alt bundle)** — Sibling spec bundle of the same CustomGPT.ai API with a slightly different tag set
- **Chatbase** — Competing no-code platform for building doc-grounded chatbots
- **OpenAI API** — Underlying LLM provider for raw model calls without retrieval

## FAQ

### Why is there no official OpenAPI spec for CustomGPT.ai?

CustomGPT.ai does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call CustomGPT.ai via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the CustomGPT.ai API use?

The API uses HTTP bearer authentication - you pass your CustomGPT API token as Authorization: Bearer <token>. Through Jentic, the token is held in the encrypted vault and never enters the agent's prompt context.

### Can I send chat messages to a CustomGPT agent through the API?

Yes. POST /api/v1/projects/{projectId}/chat/completions accepts the OpenAI chat-completions request shape, so existing OpenAI client code can target a CustomGPT project with only a base URL and key swap.

### How do I add documents to an agent?

POST /api/v1/projects/{projectId}/pages with a sitemap URL or file payload. Indexing is asynchronous - poll the page record or use the reindex endpoint to refresh stale content.

### What are the rate limits for the CustomGPT.ai API?

Rate limits are tied to your CustomGPT.ai subscription tier rather than published in the spec. Check your plan in the CustomGPT dashboard, and handle 429 responses with backoff in production code.

### How do I query a CustomGPT bot through Jentic?

Run pip install jentic, then search for 'send a chat message to a custom GPT bot', load the chat-completions schema, and execute with your project ID and message. Jentic returns the structured response including citations.

### Can I limit what my agent is allowed to do with the CustomGPT.ai API?

Yes. Because you run Jentic One yourself, your own rules decide which CustomGPT.ai operations and credentials the agent may use. Since the project id sits in the URL path, you can pin the agent to a single project so it can send chat completions and read that project's pages and stats, while leaving out operations like reindexing a page or replicating a project unless you explicitly allow them. Your CustomGPT.ai bearer token is stored by your own instance and injected only at execution time, so it never reaches the agent's prompt or logs.
