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

GETpartial

Read authorized procedural message threads

Requires the approving account’s current party access. OAuth never grants administrator or reviewer authority. Typed channels retain separate hosted-thread and partner-notice authority and visibility. Partner writes require message:create and Idempotency-Key.

/api/cases/{id}/messageslistAccountCaseMessages

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.

CanonicalSession

The signed-in account’s session. Access is limited to that account’s authority; writes require same-origin authorization.

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.

CanonicalPartnerBearer

Partner key issued after partner access is approved. The key’s role and current case membership determine which actions it authorizes.

Parameters

NameLocationRequirementSchema
idpathRequired{"type":"string"}
channel

Partner bearer calls must select partner_notice. Account/session clients use hosted_thread; omission preserves existing account clients.

queryOptional{"type":"string","enum":["hosted_thread","partner_notice"]}

Responses

200

Authorized result.

application/json

{
  "$ref": "#/components/schemas/CanonicalListAccountCaseMessagesResponse",
  "type": "object",
  "properties": {
    "data": {
      "anyOf": [
        {
          "$ref": "#/components/schemas/CanonicalHostedThreadList",
          "type": "object",
          "properties": {
            "threads": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/CanonicalHostedThread",
                "type": "object",
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "visibility": {
                    "type": "string"
                  },
                  "status": {
                    "type": "string"
                  },
                  "createdAt": {
                    "type": "string"
                  },
                  "updatedAt": {
                    "type": "string"
                  },
                  "closedAt": {
                    "type": "string"
                  },
                  "canReply": {
                    "type": "boolean"
                  },
                  "proceduralRequest": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string"
                      },
                      "kind": {
                        "type": "string"
                      },
                      "requestedRelief": {
                        "type": "string"
                      },
                      "status": {
                        "type": "string",
                        "enum": [
                          "awaiting_response",
                          "ready_for_decision",
                          "deciding",
                          "decided",
                          "referred",
                          "recovery_hold",
                          "human_attention",
                          "administrator_queue",
                          "reserved_for_tribunal"
                        ],
                        "description": "administrator_queue is pending limited Rule 2.6 administration. reserved_for_tribunal acknowledges a request kept for the Tribunal without a ruling or effect. Neither is an adjudicated referral."
                      },
                      "responseDueAt": {
                        "type": "string"
                      },
                      "canRule": {
                        "type": "boolean"
                      },
                      "canWithdraw": {
                        "type": "boolean"
                      },
                      "withdrawnAt": {
                        "type": "string"
                      },
                      "deadlineTarget": {
                        "$ref": "#/components/schemas/ProceduralDeadlineTarget"
                      },
                      "deadlineDeferral": {
                        "$ref": "#/components/schemas/ProceduralDeadlineDeferral"
                      },
                      "assignedAuthority": {
                        "$ref": "#/components/schemas/ProceduralAuthority"
                      },
                      "ruling": {
                        "$ref": "#/components/schemas/ProceduralPublicRuling"
                      }
                    }
                  },
                  "messages": {
                    "type": "array",
                    "items": {
                      "$ref": "#/components/schemas/CanonicalHostedMessage"
                    }
                  }
                },
                "required": [
                  "id",
                  "category",
                  "visibility",
                  "status",
                  "createdAt",
                  "updatedAt",
                  "canReply",
                  "messages"
                ]
              }
            }
          },
          "required": [
            "threads"
          ]
        },
        {
          "$ref": "#/components/schemas/CanonicalPartnerMessageList",
          "type": "object",
          "properties": {
            "messages": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/PartnerProceduralMessage",
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "schemaVersion",
                  "id",
                  "caseId",
                  "partnerId",
                  "senderKind",
                  "senderCredentialPublicId",
                  "category",
                  "text",
                  "evidenceIds",
                  "messageDigest",
                  "recordEffect",
                  "createdAt"
                ],
                "properties": {
                  "schemaVersion": {
                    "type": "string",
                    "const": "partner-procedural-message-v2"
                  },
                  "id": {
                    "type": "string"
                  },
                  "caseId": {
                    "type": "string"
                  },
                  "partnerId": {
                    "type": "string"
                  },
                  "senderKind": {
                    "type": "string",
                    "enum": [
                      "party",
                      "platform"
                    ]
                  },
                  "senderSide": {
                    "type": "string",
                    "enum": [
                      "claimant",
                      "respondent"
                    ]
                  },
                  "senderCredentialPublicId": {
                    "type": "string",
                    "description": "Public credential identity; the internal persistence identifier is never returned."
                  },
                  "category": {
                    "type": "string",
                    "enum": [
                      "clarification_request",
                      "clarification_response",
                      "evidence_request",
                      "procedural_notice",
                      "settlement_coordination"
                    ]
                  },
                  "text": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 2000
                  },
                  "replyToMessageId": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 200
                  },
                  "evidenceIds": {
                    "type": "array",
                    "maxItems": 8,
                    "uniqueItems": true,
                    "items": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  },
                  "messageDigest": {
                    "type": "string",
                    "pattern": "^[a-f0-9]{64}$"
                  },
                  "recordEffect": {
                    "type": "string",
                    "const": "none"
                  },
                  "createdAt": {
                    "type": "string",
                    "format": "date-time"
                  }
                }
              }
            },
            "recordEffect": {
              "type": "string",
              "const": "none"
            }
          },
          "required": [
            "messages",
            "recordEffect"
          ]
        }
      ]
    },
    "requestId": {
      "type": "string"
    }
  },
  "required": [
    "data",
    "requestId"
  ]
}

Example response

Successful response

{
  "data": {
    "threads": [
      {
        "id": "id_test",
        "category": "category_test",
        "visibility": "visibility_test",
        "status": "status_test",
        "createdAt": "createdAt_test",
        "updatedAt": "updatedAt_test",
        "canReply": false,
        "messages": [
          {
            "id": "id_test",
            "sender": {
              "label": "label_test",
              "role": "role_test"
            },
            "body": "Could you share the carrier’s proof-of-delivery record for order #1042?",
            "createdAt": "createdAt_test"
          }
        ]
      }
    ]
  },
  "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.