Base URL
All customer API routes use this base URL:
https://evatype.com/api/v1
Requests and responses use JSON.
Authentication
Send a bearer token with every request:
Authorization: Bearer YOUR_TOKEN
Open API tokens in your Evatype account to create or manage an API token. Interactive clients can use OAuth 2.1 access tokens instead. Both token types use the same permission checks.
A token with read access can call GET endpoints. Write access is required for ideas, generation, workflow updates, schedules, and content entry writes. Missing or invalid authentication returns 401; insufficient permission returns 403.
Find a project ID
Start with:
curl https://evatype.com/api/v1/projects \
-H "Authorization: Bearer $EVATYPE_API_TOKEN"
Project identifiers use the proj_... format. Use that identifier in project-scoped paths.
Endpoints
| Method | Path | Purpose |
|---|---|---|
GET |
/projects |
List projects. |
GET |
/projects/:project_id/ideas |
List ideas. Use status=pending, archived, or all. |
POST |
/projects/:project_id/ideas |
Add an idea. |
GET |
/projects/:project_id/workflows |
List workflows. |
GET |
/projects/:project_id/workflows/:id |
Get one workflow and its ordered steps. |
PATCH |
/projects/:project_id/workflows/:id |
Update supported workflow settings. |
GET |
/projects/:project_id/usage |
Read the current usage period and remaining pages. |
GET |
/projects/:project_id/runs |
List recent generation runs. |
GET |
/projects/:project_id/runs/:id |
Get a run and its items. |
POST |
/projects/:project_id/runs |
Generate content from idea indices. |
GET |
/projects/:project_id/run-items/:id |
Get one generated item. |
PATCH |
/projects/:project_id/run-items/:id |
Set or remove its publication schedule. |
GET |
/projects/:project_id/content-types |
List content types and field schemas. |
GET |
/projects/:project_id/entries |
List published entries across content types. |
GET |
/projects/:project_id/content-types/:slug/entries |
List published entries for one content type. |
GET |
/projects/:project_id/content-types/:slug/entries/:entry_slug |
Get one entry. |
POST |
/projects/:project_id/content-types/:slug/entries |
Create an entry. |
PATCH |
/projects/:project_id/content-types/:slug/entries/:entry_slug |
Update an entry. |
List endpoints that return entries accept page and per_page parameters.
Add an idea and start generation
Add an idea with a title or keyword, optional instructions, and a workflow ID:
curl https://evatype.com/api/v1/projects/proj_EXAMPLE/ideas \
-X POST \
-H "Authorization: Bearer $EVATYPE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"title":"A guide to content operations","workflow_id":123,"description":"Write for a marketing operations lead."}'
List ideas and read the index value for the idea you want to process. Start a run with one or more indices:
curl https://evatype.com/api/v1/projects/proj_EXAMPLE/runs \
-X POST \
-H "Authorization: Bearer $EVATYPE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"idea_indices":[0]}'
The account's remaining page allowance can reduce the number of ideas accepted into a run.
Schedule a generated item
Set a future timestamp in ISO 8601 format. The value must include Z or an explicit UTC offset.
curl https://evatype.com/api/v1/projects/proj_EXAMPLE/run-items/456 \
-X PATCH \
-H "Authorization: Bearer $EVATYPE_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"scheduled_publish_at":"2026-08-20T09:00:00+05:30"}'
Remove the schedule by sending null:
{"scheduled_publish_at": null}
The item must contain generated data and have an eligible destination. Invalid, past, or ineligible schedules return 422. A queue error returns 503 and does not save the requested time.
Create or update a content entry
Entry bodies use field_data, whose keys must follow the content type schema. status can be draft or published.
{
"slug": "content-operations-guide",
"status": "draft",
"field_data": {
"title": "A guide to content operations",
"body_markdown": "## Introduction\n\nContent..."
}
}
An entry update merges the submitted field_data into the existing data.
For AI-client access to the same product data, see the MCP guide.