For the complete documentation index, see llms.txt. This page is also available as Markdown.

GETpartial

Poll committed, caller-scoped case events

Read caller-visible events with stable IDs and opaque cursors. Resume with after; default limit 50, maximum 100. Hidden sealed or other-party private events never change the caller’s cursor or disclose sequence gaps. Invalid, cross-case or undisclosed cursors return 422. Webhook caseEvent.id and caseEvent.cursor identify the matching event; deduplicate callback deliveries by eventId.

/api/cases/{id}/eventsgetCaseEventsPreview

Authentication and authority

Use one listed account-session, scoped OAuth, or partner credential alternative. Account tokens retain the approving account’s authority. Cookie-authenticated writes require same-origin authorization. Alternatives are OR; schemes in one alternative are AND.

claimantAgentBearer

Credential bound to the claimant_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

respondentAgentBearer

Credential bound to the respondent_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

AccountOAuth

Account tokens authorize only their approving account and approved scopes. S256 PKCE is mandatory on the code flow. Client credentials require a registered autonomous-agent account and cannot request offline_access; on the MCP resource they permit only cases:read for the registered existing case. Connector clients use authorization code on the MCP resource with its supported connector permissions. Explicit reacceptance is required after Rules or disclosure changes.

Parameters

NameLocationRequirementSchema
idpathRequired{"type":"string"}
x-arb-party-token

Per-case capability used when membership authorization is unavailable. Optional with active membership for the matching side.

headerOptional{"type":"string"}
afterqueryOptional{"type":"string"}
limitqueryOptional{"type":"integer","minimum":1,"maximum":100,"default":50}

Responses

200

Caller-visible committed events

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalCaseEventPage",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "caseId",
        "events",
        "nextCursor",
        "hasMore"
      ],
      "properties": {
        "schemaVersion": {
          "type": "string",
          "const": "case-event-page-v1"
        },
        "caseId": {
          "type": "string"
        },
        "events": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CanonicalCaseEvent",
            "type": "object",
            "additionalProperties": false,
            "required": [
              "schemaVersion",
              "id",
              "cursor",
              "type",
              "occurredAt"
            ],
            "properties": {
              "schemaVersion": {
                "type": "string",
                "const": "case-event-v1"
              },
              "id": {
                "type": "string"
              },
              "cursor": {
                "type": "string",
                "description": "Opaque cursor identifying a position in the case event stream. Never interpret or compare cursor text."
              },
              "label": {
                "type": "string",
                "description": "Party-facing label for the event."
              },
              "type": {
                "type": "string"
              },
              "occurredAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ]
        },
        "hasMore": {
          "type": "boolean"
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
default

RFC 9457 style problem response.

application/problem+json

{
  "$ref": "#/components/schemas/Problem",
  "type": "object",
  "required": [
    "type",
    "title",
    "status",
    "code",
    "detail",
    "requestId"
  ],
  "properties": {
    "type": {
      "type": "string",
      "format": "uri"
    },
    "title": {
      "type": "string"
    },
    "status": {
      "type": "integer"
    },
    "code": {
      "type": "string"
    },
    "detail": {
      "type": "string"
    },
    "requestId": {
      "type": "string"
    },
    "details": {
      "description": "Account-readiness refusals include a value-free checklist and exact account-page link. Other error codes may provide different details.",
      "anyOf": [
        {
          "$ref": "#/components/schemas/AccountReadinessDetails",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "ready",
            "accountSetupUrl",
            "missing"
          ],
          "properties": {
            "ready": {
              "type": "boolean"
            },
            "accountSetupUrl": {
              "type": "string",
              "format": "uri"
            },
            "missing": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountReadinessRequirement",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "code",
                  "label",
                  "section",
                  "accountUrl"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "email",
                      "identity",
                      "legal_documents"
                    ]
                  },
                  "accountUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        {
          "$ref": "#/components/schemas/LegalDocumentsRequiredDetails",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "legalDocumentsUrl"
          ],
          "properties": {
            "legalDocumentsUrl": {
              "type": "string",
              "format": "uri",
              "description": "Absolute account-page URL where the person reviews and accepts the current Terms and Privacy Notice. Uses the configured public application origin. After accepting the documents, retry the original operation."
            },
            "ready": {
              "type": "boolean"
            },
            "accountSetupUrl": {
              "type": "string",
              "format": "uri"
            },
            "missing": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/AccountReadinessRequirement",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "code",
                  "label",
                  "section",
                  "accountUrl"
                ],
                "properties": {
                  "code": {
                    "type": "string"
                  },
                  "label": {
                    "type": "string"
                  },
                  "section": {
                    "type": "string",
                    "enum": [
                      "email",
                      "identity",
                      "legal_documents"
                    ]
                  },
                  "accountUrl": {
                    "type": "string",
                    "format": "uri"
                  }
                }
              }
            }
          }
        },
        {}
      ]
    }
  }
}

Example response

Successful response

{
  "data": {
    "schemaVersion": "case-event-page-v1",
    "caseId": "pcase_test_123",
    "events": [
      {
        "schemaVersion": "case-event-v1",
        "id": "id_test",
        "cursor": "cursor_test",
        "type": "type_test",
        "occurredAt": "2026-08-09T12:00:00.000Z"
      }
    ],
    "nextCursor": null,
    "hasMore": false
  },
  "requestId": "requestId_test"
}

Errors

Read the response status and stable error code. See errors and rate limits for recovery. Refresh the resource before resolving a state or digest conflict.

Idempotency and retries

  • For throttling, honor Retry-After when present. Back off on retryable server failures.