Browse the docs

API reference

People

The workspace directory, working profiles, agreement status and open roles.

List people

GET/v1/people

Everyone in the workspace except the caller, up to 200: name, picture, title and when they were last seen. Email is never included.

Requires people.read

Request
curl "https://atrix.dev/api/v1/people" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "people": [
    {
      "id": "cm3z8p1aa0000qs07h2k5t9we",
      "name": "Sara Khan",
      "image": "https://atrix.dev/avatars/sara.png",
      "title": "Head of Sales",
      "lastSeenAt": "2026-10-27T08:41:03.000Z"
    }
  ]
}

Get a profile

GET/v1/people/{id}

One person's working profile, plus the products they have open work on. Not an employment record; email is always null.

Requires people.read

Path parameters

  • idstringrequired

    A member id, or me for the token's owner.

Request
curl "https://atrix.dev/api/v1/people/ID" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "id": "cm3z8p1aa0000qs07h2k5t9we",
  "name": "Sara Khan",
  "image": "https://atrix.dev/avatars/sara.png",
  "title": "Head of Sales",
  "role": "member",
  "focus": "Q4 renewals",
  "bio": "Runs the sales pipeline.",
  "workingHours": "09:00-17:00",
  "timezone": "Asia/Dubai",
  "skills": [
    "Negotiation",
    "CRM"
  ],
  "projects": [
    "Atrix AI"
  ],
  "email": null
}

Agreement status

GET/v1/people/{id}/agreements

Who has signed what for one person: kind, title, state and dates, up to 50. A person the caller may not see returns an empty list; files, signing links and contents are never returned.

Requires agreements.statusand the matching permission on the account

Path parameters

  • idstringrequired

    A member id, or me for the token's owner.

Request
curl "https://atrix.dev/api/v1/people/ID/agreements" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "agreements": [
    {
      "id": "cm4p2d6wr0005jk08n3f7c1ve",
      "kind": "Employment letter",
      "title": "Employment letter - Sara Khan",
      "state": "signed",
      "createdAt": "2026-09-02T10:15:00.000Z",
      "sentAt": "2026-09-02T10:16:21.000Z",
      "expiresAt": null,
      "signedAt": "2026-09-03T07:48:09.000Z"
    }
  ]
}

List open roles

GET/v1/hiring/roles

Roles the workspace is hiring for, newest first, with applicant counts overall and per stage. Counts only, never candidates; the token's owner also needs the hiring permission.

Requires hiring.readand the matching permission on the account

Query parameters

  • statusenum

    Only roles with this status.

    DRAFTOPENPAUSEDFILLEDCLOSED

  • limitinteger

    Page size, 1-100; defaults to 25.

  • cursorstring

    The next_cursor from the previous page.

Request
curl "https://atrix.dev/api/v1/hiring/roles" \
  -H "Authorization: Bearer $ATRIX_TOKEN"
Response
{
  "roles": [
    {
      "id": "cm4q9h3bz0002rt08v6k1m8ds",
      "title": "Senior Backend Engineer",
      "status": "OPEN",
      "engagement": "EMPLOYEE",
      "createdAt": "2026-10-01T09:00:00.000Z",
      "applicants": 14,
      "stages": {
        "APPLIED": 8,
        "SCREENING": 3,
        "INTERVIEW": 2,
        "REJECTED": 1
      }
    }
  ],
  "next_cursor": null
}