Projects

Create a project

Changed on

Create 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"}'
post/projects

Request

  • Base URL
    https://elicit.com/api/v2
  • URL
    https://elicit.com/api/v2/projects
  • Auth
    HTTP bearer

Request body

namestring required

Project name (1–256 characters after trimming whitespace).

goalstring

Optional project goal; defaults to an empty string. Maximum 16,000 characters.

Example request

{
  "name": "GLP-1 safety review"
}

Response

The newly created project.

idstring uuid required

The project ID (UUID) from GET /projects or POST /projects

namestring required

Project name.

goalstring required

The project's stated goal; empty string when none was set.

role'owner' | 'writer' | 'reader' required

Your access level on this project. owner: you created it, and you alone can share it. writer: you can add and remove its contents. reader: you can view it.

createdAtstring required
updatedAtstring required

Last change to the project or its contents. Lists are ordered by this, newest first.

urlstring required

URL to open this project in the Elicit web interface.

Example response

{
  "id": "9c1f6a7e-5d24-4a3b-9f0e-1b2c3d4e5f60",
  "name": "GLP-1 safety review",
  "owner": {
    "email": "owner@example.com"
  }
}

Changes