API reference / Space guide

Documents and tasks

Space is in development. These guides describe the current development version and the intended workflow. Public sign-ups and hosted agent connections are not available yet.

Documents, tasks and task columns.

Send every request to your API URL with your key, as described in the reference overview. Read API concepts for paging, safe retries, revisions and errors.

GET /v1/spaces/{space_id}/resources

List documents or tasks

Documents or tasks, 50 per page in ID order, without their bodies. Memory records and handoffs are not listed here.

Path parameters

  • space_idstring (uuid)Required

Query parameters

  • kindstringRequired

    One of document, task

  • afterstring (uuid) or null

Responses

200Success

  • itemsarray of objectRequired
    13 fields in items
    • idstring (uuid)Required
    • kindstringRequired

      One of document, task

    • revisionintegerRequired

      Send this as expected_revision to change it.

      At least 1

    • titlestringRequired
    • statusstringRequired

      A task column value. Documents report todo.

    • updated_atstring (date-time)Required
    • authorstringRequired

      "you", "agent", or a teammate's display name in a team Space.

    • author_client_idstring (uuid) or nullRequired

      The agent connection that wrote this revision, if an agent did.

    • author_agentobject or nullRequired
      5 fields in author_agent
      • idstring (uuid)Required
      • revisionintegerRequired
      • namestringRequired
      • harnessstringRequired

        The agent's software, such as claude, codex or cursor.

      • {key}any

        Any other key.

    • projectstring (uuid) or nullRequired
    • folderstring (uuid) or nullRequired
    • prioritystring or nullRequired

      One of High, Medium, Low

    • recallobjectRequired
      4 fields in recall
      • categorystringRequired

        source for documents and tasks, handoff for session handoffs, memory for memory records.

        One of source, handoff, memory

      • topicsarray of stringRequired
      • sourcesarray of objectRequired

        Exact source revisions this item cites.

        2 fields in sources
        • resource_idstring (uuid)Required
        • revisionintegerRequired

          At least 1

      • excludedbooleanRequired

        True when the item is kept out of recall.

  • next_cursorstring (uuid) or nullRequired

    Pass as after for the next page; null at the end.

Example response
{
  "items": [
    {
      "author": "you",
      "author_agent": null,
      "author_client_id": null,
      "folder": null,
      "id": "e9ddabe5-f2a7-477f-819d-8dfabafaabdf",
      "kind": "task",
      "priority": "High",
      "project": null,
      "recall": {
        "category": "source",
        "excluded": false,
        "sources": [],
        "topics": []
      },
      "revision": 1,
      "status": "todo",
      "title": "Write the Atlas changelog",
      "updated_at": "2026-10-08T01:56:07.009263+00:00"
    }
  ],
  "next_cursor": null
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 422Invalid fields, revision or payload. Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl "https://<api-host>/v1/spaces/{space_id}/resources?kind=document" \
  -H "Authorization: Bearer $SPACE_API_KEY"

POST /v1/spaces/{space_id}/resources

Create or update a document or task

Creates a document or task with expected_revision: 0, or replaces one by sending its resource_id and current revision. Every save is a new immutable revision.

Path parameters

  • space_idstring (uuid)Required

Request bodyRequired

  • command_idstring (uuid)Required
  • resource_idstring (uuid) or null
  • expected_revisionintegerRequired

    At least 0

  • kindstringRequired

    One of document, task

  • titlestringRequired

    1 to 300 characters

  • bodystring

    Up to 700000 charactersDefault ""

  • statusstring

    1 to 80 charactersPattern ^[a-z0-9][a-z0-9_-]*$Default todo

  • recallobject or null
    4 fields in recall
    • categorystring

      One of source, handoff, memoryDefault source

    • topicsarray of string

      Up to 12 itemsEach item: 1 to 100 charactersEach item: pattern ^[^|\r\n]+$

    • sourcesarray of object

      Up to 20 items

      2 fields in sources
      • resource_idstring (uuid)Required
      • revisionintegerRequired

        At least 1

    • excludedboolean

      Default false

  • projectstring (uuid) or null
  • folderstring (uuid) or null
  • prioritystring or null

    One of High, Medium, Low

Responses

200Success

  • idstring (uuid)Required
  • kindstringRequired

    One of document, task

  • revisionintegerRequired

    Send this as expected_revision to change it.

    At least 1

  • titlestringRequired
  • statusstringRequired

    A task column value. Documents report todo.

  • updated_atstring (date-time)Required
  • authorstringRequired

    "you", "agent", or a teammate's display name in a team Space.

  • author_client_idstring (uuid) or nullRequired

    The agent connection that wrote this revision, if an agent did.

  • author_agentobject or nullRequired
    5 fields in author_agent
    • idstring (uuid)Required
    • revisionintegerRequired
    • namestringRequired
    • harnessstringRequired

      The agent's software, such as claude, codex or cursor.

    • {key}any

      Any other key.

  • projectstring (uuid) or nullRequired
  • folderstring (uuid) or nullRequired
  • prioritystring or nullRequired

    One of High, Medium, Low

  • recallobjectRequired
    4 fields in recall
    • categorystringRequired

      source for documents and tasks, handoff for session handoffs, memory for memory records.

      One of source, handoff, memory

    • topicsarray of stringRequired
    • sourcesarray of objectRequired

      Exact source revisions this item cites.

      2 fields in sources
      • resource_idstring (uuid)Required
      • revisionintegerRequired

        At least 1

    • excludedbooleanRequired

      True when the item is kept out of recall.

  • bodystringRequired

    Markdown text.

  • memoryobject or null

    Present when the resource is a memory record.

    3 fields in memory
    • claimsarray of objectRequired
      13 fields in claims
      • idstring (uuid)Required

        The claim's entry_id, used to edit or forget it.

      • indexstringRequired

        A short label for the claim.

      • valuestringRequired

        The claim's exact text.

      • memory_typestringRequired

        One of factual, procedural

      • importanceintegerRequired

        0 to 3

      • editedbooleanRequired
      • created_atstring (date-time)Required
      • classificationobjectRequired
        6 fields in classification
        • scopestringRequired

          One of global, project, unassigned

        • category_idsarray of string (uuid)Required
        • project_idsarray of string (uuid)Required
        • section_idsarray of string (uuid)Required
        • methodstringRequired

          How the assignment was made, such as manual or typesafe.

        • reasonstringRequired
      • creatorobjectRequired
        3 fields in creator
        • kindstringRequired

          One of human, agent

        • basisstringRequired

          How the creator is known, such as captured or assigned.

        • agentobject or nullRequired
          5 fields in agent
          • idstring (uuid)Required
          • revisionintegerRequired
          • namestringRequired
          • harnessstringRequired

            The agent's software, such as claude, codex or cursor.

          • {key}any

            Any other key.

      • relationshipsobject or null
        2 fields in relationships
        • statusstringRequired
        • linksarray of objectRequired
      • generated_valuestring or null

        The original wording, present once a claim was edited.

      • routes_toarray of string (uuid) or null

        Containers this claim governs, from the Space map.

      • sourcestring or null

        In memory listings: the cited source resource ID, or the author kind.

    • versionintegerRequired
    • linksarray of objectRequired
      2 fields in links
      • resource_idstring (uuid)Required
      • relationstringRequired

        One of related, expands_on

Example response
{
  "author": "you",
  "author_agent": null,
  "author_client_id": null,
  "body": "Summarize what changed.",
  "folder": null,
  "id": "e9ddabe5-f2a7-477f-819d-8dfabafaabdf",
  "kind": "task",
  "priority": "High",
  "project": null,
  "recall": {
    "category": "source",
    "excluded": false,
    "sources": [],
    "topics": []
  },
  "revision": 1,
  "status": "todo",
  "title": "Write the Atlas changelog",
  "updated_at": "2026-10-08T01:56:07.009263+00:00"
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 402An active subscription is required to add content. Reading, export and deletion still work. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 409Conflict: a stale expected_revision, a reused command_id, or a changed snapshot. Re-read and retry. Error
  • 422Invalid fields, revision or payload. Error
  • 429A Space quota is exhausted (storage, items or monthly model requests). Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl -X POST "https://<api-host>/v1/spaces/{space_id}/resources" \
  -H "Authorization: Bearer $SPACE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "body": "Summarize what changed.",
    "command_id": "4c765100-000c-4f7b-823b-9ce8a3c68c59",
    "expected_revision": 0,
    "kind": "task",
    "priority": "High",
    "title": "Write the Atlas changelog"
  }'

GET /v1/spaces/{space_id}/resources/{resource_id}

Get a document or task

One document or task with its body. Pass revision to read an earlier revision.

Path parameters

  • space_idstring (uuid)Required
  • resource_idstring (uuid)Required

Query parameters

  • revisioninteger or null

    At least 1

Responses

200Success

  • idstring (uuid)Required
  • kindstringRequired

    One of document, task

  • revisionintegerRequired

    Send this as expected_revision to change it.

    At least 1

  • titlestringRequired
  • statusstringRequired

    A task column value. Documents report todo.

  • updated_atstring (date-time)Required
  • authorstringRequired

    "you", "agent", or a teammate's display name in a team Space.

  • author_client_idstring (uuid) or nullRequired

    The agent connection that wrote this revision, if an agent did.

  • author_agentobject or nullRequired
    5 fields in author_agent
    • idstring (uuid)Required
    • revisionintegerRequired
    • namestringRequired
    • harnessstringRequired

      The agent's software, such as claude, codex or cursor.

    • {key}any

      Any other key.

  • projectstring (uuid) or nullRequired
  • folderstring (uuid) or nullRequired
  • prioritystring or nullRequired

    One of High, Medium, Low

  • recallobjectRequired
    4 fields in recall
    • categorystringRequired

      source for documents and tasks, handoff for session handoffs, memory for memory records.

      One of source, handoff, memory

    • topicsarray of stringRequired
    • sourcesarray of objectRequired

      Exact source revisions this item cites.

      2 fields in sources
      • resource_idstring (uuid)Required
      • revisionintegerRequired

        At least 1

    • excludedbooleanRequired

      True when the item is kept out of recall.

  • bodystringRequired

    Markdown text.

  • memoryobject or null

    Present when the resource is a memory record.

    3 fields in memory
    • claimsarray of objectRequired
      13 fields in claims
      • idstring (uuid)Required

        The claim's entry_id, used to edit or forget it.

      • indexstringRequired

        A short label for the claim.

      • valuestringRequired

        The claim's exact text.

      • memory_typestringRequired

        One of factual, procedural

      • importanceintegerRequired

        0 to 3

      • editedbooleanRequired
      • created_atstring (date-time)Required
      • classificationobjectRequired
        6 fields in classification
        • scopestringRequired

          One of global, project, unassigned

        • category_idsarray of string (uuid)Required
        • project_idsarray of string (uuid)Required
        • section_idsarray of string (uuid)Required
        • methodstringRequired

          How the assignment was made, such as manual or typesafe.

        • reasonstringRequired
      • creatorobjectRequired
        3 fields in creator
        • kindstringRequired

          One of human, agent

        • basisstringRequired

          How the creator is known, such as captured or assigned.

        • agentobject or nullRequired
          5 fields in agent
          • idstring (uuid)Required
          • revisionintegerRequired
          • namestringRequired
          • harnessstringRequired

            The agent's software, such as claude, codex or cursor.

          • {key}any

            Any other key.

      • relationshipsobject or null
        2 fields in relationships
        • statusstringRequired
        • linksarray of objectRequired
      • generated_valuestring or null

        The original wording, present once a claim was edited.

      • routes_toarray of string (uuid) or null

        Containers this claim governs, from the Space map.

      • sourcestring or null

        In memory listings: the cited source resource ID, or the author kind.

    • versionintegerRequired
    • linksarray of objectRequired
      2 fields in links
      • resource_idstring (uuid)Required
      • relationstringRequired

        One of related, expands_on

Example response
{
  "author": "you",
  "author_agent": null,
  "author_client_id": null,
  "body": "Summarize what changed.",
  "folder": null,
  "id": "e9ddabe5-f2a7-477f-819d-8dfabafaabdf",
  "kind": "task",
  "priority": "High",
  "project": null,
  "recall": {
    "category": "source",
    "excluded": false,
    "sources": [],
    "topics": []
  },
  "revision": 1,
  "status": "todo",
  "title": "Write the Atlas changelog",
  "updated_at": "2026-10-08T01:56:07.009263+00:00"
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 422Invalid fields, revision or payload. Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl "https://<api-host>/v1/spaces/{space_id}/resources/{resource_id}" \
  -H "Authorization: Bearer $SPACE_API_KEY"

DELETE /v1/spaces/{space_id}/resources/{resource_id}

Delete a document or task

Permanently deletes a document or task and its history. expected_revision must be the current revision.

Path parameters

  • space_idstring (uuid)Required
  • resource_idstring (uuid)Required

Query parameters

  • expected_revisionintegerRequired

    At least 1

Responses

200Success

  • deletedbooleanRequired

    Always true

Example response
{
  "deleted": true
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 402An active subscription is required to add content. Reading, export and deletion still work. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 409Conflict: a stale expected_revision, a reused command_id, or a changed snapshot. Re-read and retry. Error
  • 422Invalid fields, revision or payload. Error
  • 429A Space quota is exhausted (storage, items or monthly model requests). Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl -X DELETE "https://<api-host>/v1/spaces/{space_id}/resources/{resource_id}?expected_revision=1" \
  -H "Authorization: Bearer $SPACE_API_KEY"

GET /v1/spaces/{space_id}/tasks/columns

List task columns

The task board's columns, in order. A task's status is a column value.

Path parameters

  • space_idstring (uuid)Required

Responses

200Success

  • revisionintegerRequired

    Send as expected_revision when adding a column.

  • columnsarray of objectRequired
    2 fields in columns
    • valuestringRequired

      The status value stored on tasks, such as in_progress.

    • labelstringRequired
Example response
{
  "columns": [
    {
      "label": "To do",
      "value": "todo"
    },
    {
      "label": "In progress",
      "value": "in_progress"
    }
  ],
  "revision": 1
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 422Invalid fields, revision or payload. Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl "https://<api-host>/v1/spaces/{space_id}/tasks/columns" \
  -H "Authorization: Bearer $SPACE_API_KEY"

POST /v1/spaces/{space_id}/tasks/columns

Add a task column

Adds a column to the task board. expected_revision is the columns' revision.

Path parameters

  • space_idstring (uuid)Required

Request bodyRequired

  • valuestringRequired

    1 to 80 charactersPattern ^[a-z0-9][a-z0-9_-]*$

  • labelstringRequired

    1 to 80 characters

  • command_idstring (uuid)Required
  • expected_revisionintegerRequired

    At least 1

Responses

200Success

  • revisionintegerRequired

    Send as expected_revision when adding a column.

  • columnsarray of objectRequired
    2 fields in columns
    • valuestringRequired

      The status value stored on tasks, such as in_progress.

    • labelstringRequired
Example response
{
  "columns": [
    {
      "label": "To do",
      "value": "todo"
    },
    {
      "label": "In progress",
      "value": "in_progress"
    }
  ],
  "revision": 2
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 402An active subscription is required to add content. Reading, export and deletion still work. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 409Conflict: a stale expected_revision, a reused command_id, or a changed snapshot. Re-read and retry. Error
  • 422Invalid fields, revision or payload. Error
  • 429A Space quota is exhausted (storage, items or monthly model requests). Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl -X POST "https://<api-host>/v1/spaces/{space_id}/tasks/columns" \
  -H "Authorization: Bearer $SPACE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command_id": "4df69b04-5205-45c9-bb5a-1b0494b709b8",
    "expected_revision": 1,
    "label": "Review",
    "value": "review"
  }'

POST /v1/spaces/{space_id}/tasks/{resource_id}/status

Move a task

Moves a task to another column without rewriting its content.

Path parameters

  • space_idstring (uuid)Required
  • resource_idstring (uuid)Required

Request bodyRequired

  • command_idstring (uuid)Required
  • expected_revisionintegerRequired

    At least 1

  • statusstringRequired

    1 to 80 charactersPattern ^[a-z0-9][a-z0-9_-]*$

Responses

200Success

  • idstring (uuid)Required
  • kindstringRequired

    One of document, task

  • revisionintegerRequired

    Send this as expected_revision to change it.

    At least 1

  • titlestringRequired
  • statusstringRequired

    A task column value. Documents report todo.

  • updated_atstring (date-time)Required
  • authorstringRequired

    "you", "agent", or a teammate's display name in a team Space.

  • author_client_idstring (uuid) or nullRequired

    The agent connection that wrote this revision, if an agent did.

  • author_agentobject or nullRequired
    5 fields in author_agent
    • idstring (uuid)Required
    • revisionintegerRequired
    • namestringRequired
    • harnessstringRequired

      The agent's software, such as claude, codex or cursor.

    • {key}any

      Any other key.

  • projectstring (uuid) or nullRequired
  • folderstring (uuid) or nullRequired
  • prioritystring or nullRequired

    One of High, Medium, Low

  • recallobjectRequired
    4 fields in recall
    • categorystringRequired

      source for documents and tasks, handoff for session handoffs, memory for memory records.

      One of source, handoff, memory

    • topicsarray of stringRequired
    • sourcesarray of objectRequired

      Exact source revisions this item cites.

      2 fields in sources
      • resource_idstring (uuid)Required
      • revisionintegerRequired

        At least 1

    • excludedbooleanRequired

      True when the item is kept out of recall.

  • bodystringRequired

    Markdown text.

  • memoryobject or null

    Present when the resource is a memory record.

    3 fields in memory
    • claimsarray of objectRequired
      13 fields in claims
      • idstring (uuid)Required

        The claim's entry_id, used to edit or forget it.

      • indexstringRequired

        A short label for the claim.

      • valuestringRequired

        The claim's exact text.

      • memory_typestringRequired

        One of factual, procedural

      • importanceintegerRequired

        0 to 3

      • editedbooleanRequired
      • created_atstring (date-time)Required
      • classificationobjectRequired
        6 fields in classification
        • scopestringRequired

          One of global, project, unassigned

        • category_idsarray of string (uuid)Required
        • project_idsarray of string (uuid)Required
        • section_idsarray of string (uuid)Required
        • methodstringRequired

          How the assignment was made, such as manual or typesafe.

        • reasonstringRequired
      • creatorobjectRequired
        3 fields in creator
        • kindstringRequired

          One of human, agent

        • basisstringRequired

          How the creator is known, such as captured or assigned.

        • agentobject or nullRequired
          5 fields in agent
          • idstring (uuid)Required
          • revisionintegerRequired
          • namestringRequired
          • harnessstringRequired

            The agent's software, such as claude, codex or cursor.

          • {key}any

            Any other key.

      • relationshipsobject or null
        2 fields in relationships
        • statusstringRequired
        • linksarray of objectRequired
      • generated_valuestring or null

        The original wording, present once a claim was edited.

      • routes_toarray of string (uuid) or null

        Containers this claim governs, from the Space map.

      • sourcestring or null

        In memory listings: the cited source resource ID, or the author kind.

    • versionintegerRequired
    • linksarray of objectRequired
      2 fields in links
      • resource_idstring (uuid)Required
      • relationstringRequired

        One of related, expands_on

Example response
{
  "author": "you",
  "author_agent": null,
  "author_client_id": null,
  "body": "Summarize what changed.",
  "folder": null,
  "id": "e9ddabe5-f2a7-477f-819d-8dfabafaabdf",
  "kind": "task",
  "priority": "High",
  "project": null,
  "recall": {
    "category": "source",
    "excluded": false,
    "sources": [],
    "topics": []
  },
  "revision": 2,
  "status": "review",
  "title": "Write the Atlas changelog",
  "updated_at": "2026-10-08T01:56:07.070776+00:00"
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 402An active subscription is required to add content. Reading, export and deletion still work. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 409Conflict: a stale expected_revision, a reused command_id, or a changed snapshot. Re-read and retry. Error
  • 422Invalid fields, revision or payload. Error
  • 429A Space quota is exhausted (storage, items or monthly model requests). Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl -X POST "https://<api-host>/v1/spaces/{space_id}/tasks/{resource_id}/status" \
  -H "Authorization: Bearer $SPACE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command_id": "1d2444b4-0d77-4eb1-9b44-1eef07671406",
    "expected_revision": 1,
    "status": "review"
  }'

POST /v1/spaces/{space_id}/handoffs

Save a handoff

Saves a session handoff: a summary with decisions, progress, open questions and next actions. Handoffs are recalled with mode: resume on the context route.

Path parameters

  • space_idstring (uuid)Required

Request bodyRequired

  • command_idstring (uuid)Required
  • resource_idstring (uuid) or null
  • expected_revisioninteger

    At least 0Default 0

  • titlestringRequired

    1 to 300 characters

  • summarystringRequired

    1 to 2000 characters

  • decisionsarray of string

    Up to 20 itemsEach item: 1 to 1500 characters

  • progressarray of string

    Up to 20 itemsEach item: 1 to 1500 characters

  • unresolved_questionsarray of string

    Up to 20 itemsEach item: 1 to 1500 characters

  • next_actionsarray of string

    Up to 20 itemsEach item: 1 to 1500 characters

  • topicsarray of string

    Up to 12 itemsEach item: 1 to 100 charactersEach item: pattern ^[^|\r\n]+$

  • sourcesarray of object

    Up to 20 items

    2 fields in sources
    • resource_idstring (uuid)Required
    • revisionintegerRequired

      At least 1

Responses

200Success

  • idstring (uuid)Required
  • kindstringRequired

    One of document, task

  • revisionintegerRequired

    Send this as expected_revision to change it.

    At least 1

  • titlestringRequired
  • statusstringRequired

    A task column value. Documents report todo.

  • updated_atstring (date-time)Required
  • authorstringRequired

    "you", "agent", or a teammate's display name in a team Space.

  • author_client_idstring (uuid) or nullRequired

    The agent connection that wrote this revision, if an agent did.

  • author_agentobject or nullRequired
    5 fields in author_agent
    • idstring (uuid)Required
    • revisionintegerRequired
    • namestringRequired
    • harnessstringRequired

      The agent's software, such as claude, codex or cursor.

    • {key}any

      Any other key.

  • projectstring (uuid) or nullRequired
  • folderstring (uuid) or nullRequired
  • prioritystring or nullRequired

    One of High, Medium, Low

  • recallobjectRequired
    4 fields in recall
    • categorystringRequired

      source for documents and tasks, handoff for session handoffs, memory for memory records.

      One of source, handoff, memory

    • topicsarray of stringRequired
    • sourcesarray of objectRequired

      Exact source revisions this item cites.

      2 fields in sources
      • resource_idstring (uuid)Required
      • revisionintegerRequired

        At least 1

    • excludedbooleanRequired

      True when the item is kept out of recall.

  • bodystringRequired

    Markdown text.

  • memoryobject or null

    Present when the resource is a memory record.

    3 fields in memory
    • claimsarray of objectRequired
      13 fields in claims
      • idstring (uuid)Required

        The claim's entry_id, used to edit or forget it.

      • indexstringRequired

        A short label for the claim.

      • valuestringRequired

        The claim's exact text.

      • memory_typestringRequired

        One of factual, procedural

      • importanceintegerRequired

        0 to 3

      • editedbooleanRequired
      • created_atstring (date-time)Required
      • classificationobjectRequired
        6 fields in classification
        • scopestringRequired

          One of global, project, unassigned

        • category_idsarray of string (uuid)Required
        • project_idsarray of string (uuid)Required
        • section_idsarray of string (uuid)Required
        • methodstringRequired

          How the assignment was made, such as manual or typesafe.

        • reasonstringRequired
      • creatorobjectRequired
        3 fields in creator
        • kindstringRequired

          One of human, agent

        • basisstringRequired

          How the creator is known, such as captured or assigned.

        • agentobject or nullRequired
          5 fields in agent
          • idstring (uuid)Required
          • revisionintegerRequired
          • namestringRequired
          • harnessstringRequired

            The agent's software, such as claude, codex or cursor.

          • {key}any

            Any other key.

      • relationshipsobject or null
        2 fields in relationships
        • statusstringRequired
        • linksarray of objectRequired
      • generated_valuestring or null

        The original wording, present once a claim was edited.

      • routes_toarray of string (uuid) or null

        Containers this claim governs, from the Space map.

      • sourcestring or null

        In memory listings: the cited source resource ID, or the author kind.

    • versionintegerRequired
    • linksarray of objectRequired
      2 fields in links
      • resource_idstring (uuid)Required
      • relationstringRequired

        One of related, expands_on

Example response
{
  "author": "you",
  "author_agent": null,
  "author_client_id": null,
  "body": "Planned the launch.\n\n## Decisions\n- Use PostgreSQL\n\n## Progress\n\n\n## Unresolved questions\n\n\n## Next actions\n- Write the changelog",
  "folder": null,
  "id": "4ea50fd0-00ca-42ad-bd57-58e9b33ca381",
  "kind": "document",
  "priority": null,
  "project": null,
  "recall": {
    "category": "handoff",
    "excluded": false,
    "sources": [],
    "topics": []
  },
  "revision": 1,
  "status": "todo",
  "title": "Atlas session",
  "updated_at": "2026-10-08T01:56:07.089073+00:00"
}

Errors

  • 401The API key is missing, unknown, expired or revoked. Error
  • 402An active subscription is required to add content. Reading, export and deletion still work. Error
  • 403Not allowed: a read-only key, a view-only role, or an operation keys cannot do. Error
  • 404Not found. Other Spaces also look absent to a key. Error
  • 409Conflict: a stale expected_revision, a reused command_id, or a changed snapshot. Re-read and retry. Error
  • 422Invalid fields, revision or payload. Error
  • 429A Space quota is exhausted (storage, items or monthly model requests). Error
  • 503Temporarily unavailable or busy. Retry with backoff, honouring Retry-After. Error

Example request

curl -X POST "https://<api-host>/v1/spaces/{space_id}/handoffs" \
  -H "Authorization: Bearer $SPACE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "command_id": "f46d9ec6-08fb-444b-ba1c-a721b20b23f5",
    "decisions": [
      "Use PostgreSQL"
    ],
    "next_actions": [
      "Write the changelog"
    ],
    "summary": "Planned the launch.",
    "title": "Atlas session"
  }'