Create a project
Changed onCreate an empty project owned by the authenticated user. Supply a non-empty name (up to 256 characters) and an optional goal (up to 16,000 characters); both are trimmed. The response is the project resource, including its id and web url.
To start research in the new project, pass its id as projectId to POST /api/v2/sessions/agents. Creating the project does not start research or consume workflow quota. The project remains available if a later session fails. The same project persistence eligibility as the web interface applies.
This operation is not idempotent: repeated requests create distinct projects, even with the same name. After a timeout, check GET /api/v2/projects?consistency=strong before considering a retry. MCP clients can use create_project and list_projects({consistency: "strong"}). Strong recovery reads use the writer to avoid replication lag; ordinary project listing remains reader-backed. A strong read cannot rule out a create that is still in flight and does not make creation idempotent.
Example
curl -X POST https://elicit.com/api/v2/projects \
-H "Authorization: Bearer elk_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{"name":"GLP-1 safety review","goal":"Compare cardiovascular outcomes"}'
Request
- Base URLhttps://elicit.com/api/v2
- URLhttps://elicit.com/api/v2/projects
- AuthHTTP bearer
Request body
Example request
{
"name": "GLP-1 safety review"
}Response
The newly created project.
Example response
{
"id": "9c1f6a7e-5d24-4a3b-9f0e-1b2c3d4e5f60",
"name": "GLP-1 safety review",
"owner": {
"email": "owner@example.com"
}
}Changes
- info
endpoint added
- info