Projects

Returns the projects you own and those shared with you, most recently updated first. A project shared with you is listed as soon as it is shared — you do not have to open it in the web interface first.

Default page size 50, maximum 100. totalCount counts every project you can see, not the page.

Routine listing uses the reader (consistency=eventual, also the default) and can lag recent writes. For recovery after a project-create timeout, explicitly request consistency=strong to read from the writer. Keep that consistency on every page. This is read-after-write recovery, not an idempotency guarantee or a frozen snapshot.

nextCursor is the last project on the page, and the ordering is by updatedAt, so a cursor is only valid against a stable set: paging again after that project was deleted or unshared returns 400, and a project updated between two requests moves to the front, where a later page will not show it. For a consistent snapshot, page through without pausing, or restart from the first page.

Example

curl https://elicit.com/api/v2/projects \
  -H "Authorization: Bearer elk_live_your_key_here"
get/projects

Request

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

Query parameters

consistency'eventual' | 'strong'

Read consistency. Omit or use eventual for routine reader-backed listing, which may lag recent writes. Use strong for writer-consistent recovery after a project-create timeout; keep the same consistency on every page. Strong reads do not make project creation idempotent.

limitinteger

Maximum number of projects to return (default: 50, max: 100)

Example:20
cursorstring

Pagination cursor from a previous response's nextCursor. Omit for the first page. The cursor is the id of the last project on the previous page, and the list is ordered by updatedAt, so it is only stable while the set is: if that project is deleted or unshared before you page again the request returns 400, and a project updated between pages moves to the front and can be missed. Restart from the first page if either matters.

Example:9c1f6a7e-5d24-4a3b-9f0e-1b2c3d4e5f60

Response

One page of projects.

nextCursorstring nullable required

Pass as ?cursor= to fetch the next page; null on the last page.

totalCountinteger required

Total projects you can see, across all pages.

Example response

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

Changes