Skip to main content
GET
/
projects
List projects
curl --request GET \
  --url https://slog.ai/projects \
  --header 'slog-api-key: <api-key>'
{
  "projects": [
    {
      "id": "proj_01jqproj0001",
      "reference": "ENG-P1",
      "name": "Platform v2",
      "status": "ACTIVE",
      "description": "Full rewrite of the platform backend.",
      "teamId": "team_01jqteam0001",
      "team": {
        "id": "team_01jqteam0001",
        "name": "Engineering",
        "prefix": "ENG"
      },
      "labels": [],
      "createdAt": "2026-04-01T08:00:00.000Z",
      "updatedAt": "2026-05-01T12:00:00.000Z"
    }
  ],
  "pagination": {
    "limit": 50,
    "nextCursor": null
  }
}

Authorizations

slog-api-key
string
header
required

API key obtained from the Slog dashboard or returned by the signup/invite-redeem flows. Pass as the slog-api-key header.

Query Parameters

fields
string

Comma-separated list of fields to return. Supports brace notation for nested objects: fields=id,title,assignee{name,email}. When omitted, a default set of fields is returned.

limit
integer
default:50

Maximum number of results to return per page.

Required range: 1 <= x <= 250
cursor
string

Opaque cursor from the nextCursor field of a previous response. Pass this to fetch the next page.

filter
object

Structured filter using bracket notation: filter[<op>][<field>]=<value>.

Supported operators:

  • eq — equals
  • neq — not equals
  • gt / gte — greater than / greater than or equal
  • lt / lte — less than / less than or equal
  • contains — case-insensitive substring match
  • startsWith — case-insensitive prefix match
  • in — one of (repeat the parameter for multiple values)

Examples:

filter[eq][status]=TODO
filter[contains][title]=auth
filter[in][status]=TODO&filter[in][status]=IN_PROGRESS
filter[gte][dueDate]=2026-01-01
sort
object

Sort using bracket notation: sort[<field>]=asc|desc.

Example: sort[createdAt]=desc

Response

A page of projects.

projects
object[]
pagination
object