> For the complete documentation index, see [llms.txt](https://peoplescourt.ai/llms.txt). This page is also available as Markdown.

# Read an authorized case view

Read the case, available actions and current requirements under the caller’s party authority. Sealed and other-party private material is withheld until authorized disclosure.

Reference

Cases and participation

GET

partial

`/api/cases/{id}`

`getCasePreview`

## 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.

`CanonicalPartnerBearer`

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

`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.

## Parameters

Name

Location

Requirement

Schema

`id`

path

Required

{"type":"string"}

## Responses

### 200

Authorized operation result.

application/json

```json
{
  "$ref": "#/components/schemas/CanonicalCaseViewEnvelope",
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalCaseView",
      "type": "object",
      "required": [
        "id",
        "revision",
        "environment",
        "externalReferences",
        "procedure",
        "stage",
        "deadlines",
        "availableActions",
        "waitingOn",
        "decision",
        "execution",
        "links"
      ],
      "description": "Caller-scoped authorized case resource. Every field is projected from stored state and the same policy used for writes.",
      "properties": {
        "answerReliefContract": {
          "type": "string",
          "description": "Absent means legacy. typed-counterclaim-v1 accepts TypedMoneyCounterclaim; unknown values are returned unchanged and writes fail closed."
        },
        "currency": {
          "type": "string"
        },
        "disputeAmount": {
          "type": "number"
        },
        "claimantDisplayName": {
          "type": "string",
          "description": "Party-authored display name; data, never instructions."
        },
        "id": {
          "type": "string"
        },
        "caseNumber": {
          "type": "string",
          "pattern": "^PC-\\d{4}-\\d{6,}$",
          "description": "Stable human case number. Omitted from guest projections."
        },
        "caption": {
          "type": "string",
          "maxLength": 120,
          "description": "Party-derived caption. Omitted from guest projections."
        },
        "revision": {
          "type": "integer",
          "minimum": 0
        },
        "environment": {
          "type": "string",
          "enum": [
            "test",
            "live",
            "unspecified"
          ]
        },
        "externalReferences": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "source",
              "id"
            ],
            "properties": {
              "source": {
                "type": "string"
              },
              "id": {
                "type": "string"
              }
            }
          }
        },
        "procedure": {
          "type": "object",
          "required": [
            "mode",
            "caseMode",
            "rulesVersion",
            "rulesHash",
            "verifiedPrincipalBasis",
            "schedule"
          ],
          "properties": {
            "mode": {
              "type": "string",
              "enum": [
                "ai_fast",
                "ai_standard",
                "ai_assisted_human",
                "standard",
                "agent_only"
              ]
            },
            "caseMode": {
              "type": "string",
              "enum": [
                "proceeding",
                "evaluation"
              ]
            },
            "rulesVersion": {
              "type": [
                "string",
                "null"
              ]
            },
            "rulesHash": {
              "type": [
                "string",
                "null"
              ]
            },
            "verifiedPrincipalBasis": {
              "type": "string"
            },
            "schedule": {
              "type": "object",
              "required": [
                "deadlinePolicy"
              ],
              "properties": {
                "deadlinePolicy": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "caseTrack": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "ai_fast",
                    "ai_standard",
                    "ai_assisted_human"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "appealWaived": {
              "description": "True only when both parties validly accepted the separate appeal waiver on the same pinned terms. A claimant's offer alone is false here and `appealWaiver.status` is `offered`. Null for a case without elected procedure terms.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "appealWaiver": {
              "description": "The separate appeal waiver's state. `offered` is the claimant's election awaiting the respondent; `declined` and `offered` retain one human appeal, available for the pinned window after service; `effective` means both parties accepted, and execution becomes eligible immediately after service subject to every other hold and requirement. Null for a case without elected procedure terms.",
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "status",
                    "effective",
                    "claimantAcceptedAt",
                    "respondentAcceptedAt"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "not_offered",
                        "offered",
                        "declined",
                        "effective"
                      ]
                    },
                    "effective": {
                      "type": "boolean"
                    },
                    "claimantAcceptedAt": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "date-time"
                    },
                    "respondentAcceptedAt": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "date-time"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "procedureTerms": {
              "description": "The procedure terms on the case. Before the respondent accepts, these are the claimant's proposed terms; read `appealWaiver` for the waiver's effect.",
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CaseProcedureTerms",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "track",
                    "appealWaived",
                    "waiverDisclosureVersion",
                    "waiverDisclosureHash",
                    "rulesVersion",
                    "rulesHash",
                    "behaviorVersion",
                    "disclosureVersion",
                    "disclosureHash",
                    "feePolicyVersion",
                    "termsHash"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "type": "string",
                      "const": "case-procedure-v1"
                    },
                    "track": {
                      "type": "string",
                      "enum": [
                        "ai_fast",
                        "ai_standard",
                        "ai_assisted_human"
                      ]
                    },
                    "appealWaived": {
                      "type": "boolean"
                    },
                    "waiverDisclosureVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "waiverDisclosureHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "rulesVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "rulesHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "behaviorVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "disclosureVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "disclosureHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "feePolicyVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "termsHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "finalityPath": {
              "description": "Derived from the effective waiver, never from the claimant's offer alone.",
              "type": "string",
              "enum": [
                "human_appeal",
                "appeal_waived",
                "agent_finality",
                "ordinary_or_historical"
              ]
            }
          }
        },
        "stage": {
          "type": "object",
          "required": [
            "code",
            "phase",
            "recordRevision"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "awaiting_respondent",
                "exchange",
                "record_confirmation",
                "under_review",
                "served",
                "appeal",
                "final",
                "ended",
                "service_pending",
                "fee_pending"
              ]
            },
            "phase": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "answer",
                "evidence",
                "rebuttal",
                "close",
                "merits",
                null
              ]
            },
            "recordRevision": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "deadlines": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CanonicalCaseDeadline",
            "type": "object",
            "required": [
              "kind",
              "dueAt",
              "effect"
            ],
            "properties": {
              "kind": {
                "type": "string"
              },
              "party": {
                "type": "string",
                "enum": [
                  "claimant",
                  "respondent"
                ]
              },
              "dueAt": {
                "type": "string",
                "format": "date-time"
              },
              "effect": {
                "type": "string"
              }
            }
          }
        },
        "availableActions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CanonicalCaseAction",
            "type": "object",
            "required": [
              "code",
              "method",
              "href",
              "inputSchema",
              "expectedRevision",
              "requirements"
            ],
            "description": "One authorized, discoverable action. href is the canonical URL and inputSchema names the published request schema for it. requirements carry the exact values the operation checks, such as a record digest and its confirmation sentence; free-text fields remain the caller's.",
            "properties": {
              "code": {
                "type": "string"
              },
              "method": {
                "type": "string",
                "enum": [
                  "POST",
                  "PATCH",
                  "GET"
                ]
              },
              "href": {
                "type": "string"
              },
              "inputSchema": {
                "type": "string",
                "description": "Name of a schema published under components.schemas in this contract."
              },
              "expectedRevision": {
                "type": "integer",
                "minimum": 0
              },
              "requirements": {
                "type": "object",
                "properties": {
                  "party": {
                    "type": "string",
                    "enum": [
                      "claimant",
                      "respondent"
                    ]
                  },
                  "partyHeader": {
                    "type": "string",
                    "enum": [
                      "claimant",
                      "respondent"
                    ]
                  },
                  "recordDigest": {
                    "type": "string"
                  },
                  "confirmationStatement": {
                    "type": "string"
                  },
                  "inventoryDigest": {
                    "type": "string"
                  },
                  "agree": {
                    "type": "boolean"
                  },
                  "idempotencyKey": {
                    "type": "boolean"
                  },
                  "protocolPrincipal": {
                    "type": "string"
                  },
                  "protocolActor": {
                    "type": "string"
                  },
                  "evidenceAttestation": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "rule47Kind": {
                    "type": "string"
                  },
                  "rule47OrderId": {
                    "type": "string"
                  },
                  "submissionId": {
                    "type": "string"
                  },
                  "evidenceId": {
                    "type": "string"
                  },
                  "sourceId": {
                    "type": "string"
                  },
                  "grantId": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "fee": {
                    "type": "object",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "minorUnits": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "processing": {
          "$ref": "#/components/schemas/CanonicalCaseProcessingStatus",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "blocker",
            "lastProgress",
            "nextActor"
          ],
          "description": "Closed procedural codes projected from stored state. Outside under_review all three fields are null. These fields report workflow progress, not a merits result or completion estimate. No run logs, provider diagnostics, private record state, model identities or unserved work are exposed.",
          "properties": {
            "blocker": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "queued",
                "adjudication",
                "technical_failure",
                "procedure_hold",
                "ai_correction",
                "configuration_review",
                "operational_hold",
                "legacy_review",
                "award_service",
                "award_validation",
                "awaiting_start",
                null
              ]
            },
            "lastProgress": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "code",
                "at"
              ],
              "description": "Latest stored run milestone; at is its completion, start or creation time, not a heartbeat.",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "started",
                    "completed",
                    "failed",
                    "interrupted",
                    "timed_out",
                    "cancelled"
                  ]
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "nextActor": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "service",
                "administrator",
                "tribunal",
                "legacy_reviewer",
                null
              ]
            }
          }
        },
        "delayNotice": {
          "type": "string",
          "enum": [
            "This is taking longer than usual. No action is needed from you."
          ],
          "description": "Optional fixed notice for an authorized party or guest after the pre-service decision stage has lasted longer than usual. It is absent before the delay threshold and after the Award is served."
        },
        "waitingOn": {
          "description": "During under_review, reason uses the processing.blocker code.",
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "reason"
            ],
            "properties": {
              "kind": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "party": {
                "type": "string"
              },
              "dueAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "decision": {
          "type": "object",
          "required": [
            "served",
            "servedAt",
            "awardId",
            "hash",
            "revision",
            "appellateDisposition",
            "postAppealRequestScope",
            "appealEligible",
            "appealDeadline",
            "finality",
            "executable",
            "holdReasons"
          ],
          "description": "Served, appealable, final and executable are separate facts. A served Award may remain stayed.",
          "properties": {
            "served": {
              "type": "boolean"
            },
            "servedAt": {
              "type": [
                "string",
                "null"
              ]
            },
            "awardId": {
              "type": [
                "string",
                "null"
              ]
            },
            "hash": {
              "type": [
                "string",
                "null"
              ]
            },
            "revision": {
              "type": [
                "integer",
                "null"
              ]
            },
            "appellateDisposition": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "outcome",
                "servedAt",
                "operativeAward"
              ],
              "properties": {
                "outcome": {
                  "type": "string"
                },
                "servedAt": {
                  "type": "string"
                },
                "operativeAward": {
                  "type": "string"
                }
              }
            },
            "postAppealRequestScope": {
              "description": "Pinned scope of post-appeal requests, or null when none applies."
            },
            "appealEligible": {
              "type": "boolean"
            },
            "appealDecisionDueAt": {
              "type": "string",
              "format": "date-time"
            },
            "appealDecisionOriginalDueAt": {
              "type": "string",
              "format": "date-time"
            },
            "appealDocketing": {
              "type": "object",
              "properties": {
                "requestWindowClosesAt": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "appealDeadline": {
              "type": [
                "string",
                "null"
              ]
            },
            "finality": {
              "type": "string",
              "enum": [
                "not_served",
                "served",
                "appealable",
                "appeal_reserved",
                "appeal_pending",
                "final"
              ]
            },
            "executable": {
              "type": "boolean"
            },
            "holdReasons": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "execution": {
          "type": "object",
          "required": [
            "status",
            "links"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "not_configured",
                "not_requested",
                "pending",
                "confirmed",
                "needs_action",
                "blocked",
                "failed",
                "unknown_outcome"
              ]
            },
            "links": {
              "type": "object",
              "description": "Present only where an execution operation or receipt exists and the caller's interface can resolve it. Following them needs the separate settlement-execution credential.",
              "properties": {
                "operations": {
                  "type": "string"
                },
                "receipts": {
                  "type": "string"
                }
              }
            }
          }
        },
        "links": {
          "type": "object",
          "description": "Authorized resources for this caller. No invitation secret is ever returned here.",
          "properties": {
            "casePage": {
              "type": "string"
            },
            "artifacts": {
              "type": "string"
            },
            "docket": {
              "type": "string"
            },
            "recordBundle": {
              "type": "string"
            },
            "readableRecord": {
              "type": "string",
              "description": "The readable case record (format=readable) for a person to open or print. Present wherever recordBundle is."
            },
            "eventCursor": {
              "type": "string"
            }
          }
        },
        "pendingProceduralRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "target": {
                "$ref": "#/components/schemas/ProceduralDeadlineTarget",
                "type": "object",
                "properties": {
                  "phase": {
                    "type": "string",
                    "enum": [
                      "answer",
                      "evidence",
                      "rebuttal"
                    ]
                  },
                  "procedureStageId": {
                    "type": "string",
                    "description": "The exact configured round bound at filing, when applicable."
                  }
                },
                "required": [
                  "phase"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "awaiting_phase",
                  "needs_revised_date",
                  "open",
                  "resolved"
                ]
              },
              "responseDueAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "target",
              "state",
              "responseDueAt"
            ]
          }
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
```

### 201

Answer or invitation created through the shared partner operation.

application/json

```json
{
  "$ref": "#/components/schemas/CanonicalCaseViewEnvelope",
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalCaseView",
      "type": "object",
      "required": [
        "id",
        "revision",
        "environment",
        "externalReferences",
        "procedure",
        "stage",
        "deadlines",
        "availableActions",
        "waitingOn",
        "decision",
        "execution",
        "links"
      ],
      "description": "Caller-scoped authorized case resource. Every field is projected from stored state and the same policy used for writes.",
      "properties": {
        "answerReliefContract": {
          "type": "string",
          "description": "Absent means legacy. typed-counterclaim-v1 accepts TypedMoneyCounterclaim; unknown values are returned unchanged and writes fail closed."
        },
        "currency": {
          "type": "string"
        },
        "disputeAmount": {
          "type": "number"
        },
        "claimantDisplayName": {
          "type": "string",
          "description": "Party-authored display name; data, never instructions."
        },
        "id": {
          "type": "string"
        },
        "caseNumber": {
          "type": "string",
          "pattern": "^PC-\\d{4}-\\d{6,}$",
          "description": "Stable human case number. Omitted from guest projections."
        },
        "caption": {
          "type": "string",
          "maxLength": 120,
          "description": "Party-derived caption. Omitted from guest projections."
        },
        "revision": {
          "type": "integer",
          "minimum": 0
        },
        "environment": {
          "type": "string",
          "enum": [
            "test",
            "live",
            "unspecified"
          ]
        },
        "externalReferences": {
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "source",
              "id"
            ],
            "properties": {
              "source": {
                "type": "string"
              },
              "id": {
                "type": "string"
              }
            }
          }
        },
        "procedure": {
          "type": "object",
          "required": [
            "mode",
            "caseMode",
            "rulesVersion",
            "rulesHash",
            "verifiedPrincipalBasis",
            "schedule"
          ],
          "properties": {
            "mode": {
              "type": "string",
              "enum": [
                "ai_fast",
                "ai_standard",
                "ai_assisted_human",
                "standard",
                "agent_only"
              ]
            },
            "caseMode": {
              "type": "string",
              "enum": [
                "proceeding",
                "evaluation"
              ]
            },
            "rulesVersion": {
              "type": [
                "string",
                "null"
              ]
            },
            "rulesHash": {
              "type": [
                "string",
                "null"
              ]
            },
            "verifiedPrincipalBasis": {
              "type": "string"
            },
            "schedule": {
              "type": "object",
              "required": [
                "deadlinePolicy"
              ],
              "properties": {
                "deadlinePolicy": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              }
            },
            "caseTrack": {
              "anyOf": [
                {
                  "type": "string",
                  "enum": [
                    "ai_fast",
                    "ai_standard",
                    "ai_assisted_human"
                  ]
                },
                {
                  "type": "null"
                }
              ]
            },
            "appealWaived": {
              "description": "True only when both parties validly accepted the separate appeal waiver on the same pinned terms. A claimant's offer alone is false here and `appealWaiver.status` is `offered`. Null for a case without elected procedure terms.",
              "type": [
                "boolean",
                "null"
              ]
            },
            "appealWaiver": {
              "description": "The separate appeal waiver's state. `offered` is the claimant's election awaiting the respondent; `declined` and `offered` retain one human appeal, available for the pinned window after service; `effective` means both parties accepted, and execution becomes eligible immediately after service subject to every other hold and requirement. Null for a case without elected procedure terms.",
              "anyOf": [
                {
                  "type": "object",
                  "required": [
                    "status",
                    "effective",
                    "claimantAcceptedAt",
                    "respondentAcceptedAt"
                  ],
                  "properties": {
                    "status": {
                      "type": "string",
                      "enum": [
                        "not_offered",
                        "offered",
                        "declined",
                        "effective"
                      ]
                    },
                    "effective": {
                      "type": "boolean"
                    },
                    "claimantAcceptedAt": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "date-time"
                    },
                    "respondentAcceptedAt": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "date-time"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "procedureTerms": {
              "description": "The procedure terms on the case. Before the respondent accepts, these are the claimant's proposed terms; read `appealWaiver` for the waiver's effect.",
              "anyOf": [
                {
                  "$ref": "#/components/schemas/CaseProcedureTerms",
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "schemaVersion",
                    "track",
                    "appealWaived",
                    "waiverDisclosureVersion",
                    "waiverDisclosureHash",
                    "rulesVersion",
                    "rulesHash",
                    "behaviorVersion",
                    "disclosureVersion",
                    "disclosureHash",
                    "feePolicyVersion",
                    "termsHash"
                  ],
                  "properties": {
                    "schemaVersion": {
                      "type": "string",
                      "const": "case-procedure-v1"
                    },
                    "track": {
                      "type": "string",
                      "enum": [
                        "ai_fast",
                        "ai_standard",
                        "ai_assisted_human"
                      ]
                    },
                    "appealWaived": {
                      "type": "boolean"
                    },
                    "waiverDisclosureVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "waiverDisclosureHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "rulesVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "rulesHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "behaviorVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "disclosureVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "disclosureHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    },
                    "feePolicyVersion": {
                      "type": "string",
                      "minLength": 1
                    },
                    "termsHash": {
                      "type": "string",
                      "pattern": "^[a-f0-9]{64}$"
                    }
                  }
                },
                {
                  "type": "null"
                }
              ]
            },
            "finalityPath": {
              "description": "Derived from the effective waiver, never from the claimant's offer alone.",
              "type": "string",
              "enum": [
                "human_appeal",
                "appeal_waived",
                "agent_finality",
                "ordinary_or_historical"
              ]
            }
          }
        },
        "stage": {
          "type": "object",
          "required": [
            "code",
            "phase",
            "recordRevision"
          ],
          "properties": {
            "code": {
              "type": "string",
              "enum": [
                "awaiting_respondent",
                "exchange",
                "record_confirmation",
                "under_review",
                "served",
                "appeal",
                "final",
                "ended",
                "service_pending",
                "fee_pending"
              ]
            },
            "phase": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "answer",
                "evidence",
                "rebuttal",
                "close",
                "merits",
                null
              ]
            },
            "recordRevision": {
              "type": "integer",
              "minimum": 0
            }
          }
        },
        "deadlines": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CanonicalCaseDeadline",
            "type": "object",
            "required": [
              "kind",
              "dueAt",
              "effect"
            ],
            "properties": {
              "kind": {
                "type": "string"
              },
              "party": {
                "type": "string",
                "enum": [
                  "claimant",
                  "respondent"
                ]
              },
              "dueAt": {
                "type": "string",
                "format": "date-time"
              },
              "effect": {
                "type": "string"
              }
            }
          }
        },
        "availableActions": {
          "type": "array",
          "items": {
            "$ref": "#/components/schemas/CanonicalCaseAction",
            "type": "object",
            "required": [
              "code",
              "method",
              "href",
              "inputSchema",
              "expectedRevision",
              "requirements"
            ],
            "description": "One authorized, discoverable action. href is the canonical URL and inputSchema names the published request schema for it. requirements carry the exact values the operation checks, such as a record digest and its confirmation sentence; free-text fields remain the caller's.",
            "properties": {
              "code": {
                "type": "string"
              },
              "method": {
                "type": "string",
                "enum": [
                  "POST",
                  "PATCH",
                  "GET"
                ]
              },
              "href": {
                "type": "string"
              },
              "inputSchema": {
                "type": "string",
                "description": "Name of a schema published under components.schemas in this contract."
              },
              "expectedRevision": {
                "type": "integer",
                "minimum": 0
              },
              "requirements": {
                "type": "object",
                "properties": {
                  "party": {
                    "type": "string",
                    "enum": [
                      "claimant",
                      "respondent"
                    ]
                  },
                  "partyHeader": {
                    "type": "string",
                    "enum": [
                      "claimant",
                      "respondent"
                    ]
                  },
                  "recordDigest": {
                    "type": "string"
                  },
                  "confirmationStatement": {
                    "type": "string"
                  },
                  "inventoryDigest": {
                    "type": "string"
                  },
                  "agree": {
                    "type": "boolean"
                  },
                  "idempotencyKey": {
                    "type": "boolean"
                  },
                  "protocolPrincipal": {
                    "type": "string"
                  },
                  "protocolActor": {
                    "type": "string"
                  },
                  "evidenceAttestation": {
                    "type": "string"
                  },
                  "kind": {
                    "type": "string"
                  },
                  "rule47Kind": {
                    "type": "string"
                  },
                  "rule47OrderId": {
                    "type": "string"
                  },
                  "submissionId": {
                    "type": "string"
                  },
                  "evidenceId": {
                    "type": "string"
                  },
                  "sourceId": {
                    "type": "string"
                  },
                  "grantId": {
                    "type": "string"
                  },
                  "requestId": {
                    "type": "string"
                  },
                  "channel": {
                    "type": "string"
                  },
                  "category": {
                    "type": "string"
                  },
                  "fee": {
                    "type": "object",
                    "properties": {
                      "currency": {
                        "type": "string"
                      },
                      "minorUnits": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "processing": {
          "$ref": "#/components/schemas/CanonicalCaseProcessingStatus",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "blocker",
            "lastProgress",
            "nextActor"
          ],
          "description": "Closed procedural codes projected from stored state. Outside under_review all three fields are null. These fields report workflow progress, not a merits result or completion estimate. No run logs, provider diagnostics, private record state, model identities or unserved work are exposed.",
          "properties": {
            "blocker": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "queued",
                "adjudication",
                "technical_failure",
                "procedure_hold",
                "ai_correction",
                "configuration_review",
                "operational_hold",
                "legacy_review",
                "award_service",
                "award_validation",
                "awaiting_start",
                null
              ]
            },
            "lastProgress": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "code",
                "at"
              ],
              "description": "Latest stored run milestone; at is its completion, start or creation time, not a heartbeat.",
              "properties": {
                "code": {
                  "type": "string",
                  "enum": [
                    "queued",
                    "started",
                    "completed",
                    "failed",
                    "interrupted",
                    "timed_out",
                    "cancelled"
                  ]
                },
                "at": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "nextActor": {
              "type": [
                "string",
                "null"
              ],
              "enum": [
                "service",
                "administrator",
                "tribunal",
                "legacy_reviewer",
                null
              ]
            }
          }
        },
        "delayNotice": {
          "type": "string",
          "enum": [
            "This is taking longer than usual. No action is needed from you."
          ],
          "description": "Optional fixed notice for an authorized party or guest after the pre-service decision stage has lasted longer than usual. It is absent before the delay threshold and after the Award is served."
        },
        "waitingOn": {
          "description": "During under_review, reason uses the processing.blocker code.",
          "type": "array",
          "items": {
            "type": "object",
            "required": [
              "kind",
              "reason"
            ],
            "properties": {
              "kind": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "party": {
                "type": "string"
              },
              "dueAt": {
                "type": "string",
                "format": "date-time"
              }
            }
          }
        },
        "decision": {
          "type": "object",
          "required": [
            "served",
            "servedAt",
            "awardId",
            "hash",
            "revision",
            "appellateDisposition",
            "postAppealRequestScope",
            "appealEligible",
            "appealDeadline",
            "finality",
            "executable",
            "holdReasons"
          ],
          "description": "Served, appealable, final and executable are separate facts. A served Award may remain stayed.",
          "properties": {
            "served": {
              "type": "boolean"
            },
            "servedAt": {
              "type": [
                "string",
                "null"
              ]
            },
            "awardId": {
              "type": [
                "string",
                "null"
              ]
            },
            "hash": {
              "type": [
                "string",
                "null"
              ]
            },
            "revision": {
              "type": [
                "integer",
                "null"
              ]
            },
            "appellateDisposition": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "outcome",
                "servedAt",
                "operativeAward"
              ],
              "properties": {
                "outcome": {
                  "type": "string"
                },
                "servedAt": {
                  "type": "string"
                },
                "operativeAward": {
                  "type": "string"
                }
              }
            },
            "postAppealRequestScope": {
              "description": "Pinned scope of post-appeal requests, or null when none applies."
            },
            "appealEligible": {
              "type": "boolean"
            },
            "appealDecisionDueAt": {
              "type": "string",
              "format": "date-time"
            },
            "appealDecisionOriginalDueAt": {
              "type": "string",
              "format": "date-time"
            },
            "appealDocketing": {
              "type": "object",
              "properties": {
                "requestWindowClosesAt": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "appealDeadline": {
              "type": [
                "string",
                "null"
              ]
            },
            "finality": {
              "type": "string",
              "enum": [
                "not_served",
                "served",
                "appealable",
                "appeal_reserved",
                "appeal_pending",
                "final"
              ]
            },
            "executable": {
              "type": "boolean"
            },
            "holdReasons": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "execution": {
          "type": "object",
          "required": [
            "status",
            "links"
          ],
          "properties": {
            "status": {
              "type": "string",
              "enum": [
                "not_configured",
                "not_requested",
                "pending",
                "confirmed",
                "needs_action",
                "blocked",
                "failed",
                "unknown_outcome"
              ]
            },
            "links": {
              "type": "object",
              "description": "Present only where an execution operation or receipt exists and the caller's interface can resolve it. Following them needs the separate settlement-execution credential.",
              "properties": {
                "operations": {
                  "type": "string"
                },
                "receipts": {
                  "type": "string"
                }
              }
            }
          }
        },
        "links": {
          "type": "object",
          "description": "Authorized resources for this caller. No invitation secret is ever returned here.",
          "properties": {
            "casePage": {
              "type": "string"
            },
            "artifacts": {
              "type": "string"
            },
            "docket": {
              "type": "string"
            },
            "recordBundle": {
              "type": "string"
            },
            "readableRecord": {
              "type": "string",
              "description": "The readable case record (format=readable) for a person to open or print. Present wherever recordBundle is."
            },
            "eventCursor": {
              "type": "string"
            }
          }
        },
        "pendingProceduralRequests": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "target": {
                "$ref": "#/components/schemas/ProceduralDeadlineTarget",
                "type": "object",
                "properties": {
                  "phase": {
                    "type": "string",
                    "enum": [
                      "answer",
                      "evidence",
                      "rebuttal"
                    ]
                  },
                  "procedureStageId": {
                    "type": "string",
                    "description": "The exact configured round bound at filing, when applicable."
                  }
                },
                "required": [
                  "phase"
                ]
              },
              "state": {
                "type": "string",
                "enum": [
                  "awaiting_phase",
                  "needs_revised_date",
                  "open",
                  "resolved"
                ]
              },
              "responseDueAt": {
                "type": "string",
                "format": "date-time"
              }
            },
            "required": [
              "id",
              "target",
              "state",
              "responseDueAt"
            ]
          }
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
```

### 404

The resource is unavailable or the caller lacks access.

### default

Stable problem code and requestId; no protected state disclosed.

application/problem+json

```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

```json
{
  "data": {
    "id": "id_test",
    "revision": 1,
    "environment": "test",
    "externalReferences": [
      {
        "source": "source_test",
        "id": "id_test"
      }
    ],
    "procedure": {
      "mode": "ai_fast",
      "caseMode": "proceeding",
      "rulesVersion": null,
      "rulesHash": null,
      "verifiedPrincipalBasis": "verifiedPrincipalBasis_test",
      "schedule": {
        "deadlinePolicy": null
      }
    },
    "stage": {
      "code": "awaiting_respondent",
      "phase": "answer",
      "recordRevision": 1
    },
    "deadlines": [
      {
        "kind": "kind_test",
        "dueAt": "2026-08-09T12:00:00.000Z",
        "effect": "effect_test"
      }
    ],
    "availableActions": [
      {
        "code": "code_test",
        "method": "POST",
        "href": "href_test",
        "inputSchema": "inputSchema_test",
        "expectedRevision": 1,
        "requirements": {}
      }
    ],
    "waitingOn": [
      {
        "kind": "kind_test",
        "reason": "reason_test"
      }
    ],
    "decision": {
      "served": false,
      "servedAt": null,
      "awardId": null,
      "hash": null,
      "revision": null,
      "appellateDisposition": null,
      "postAppealRequestScope": {},
      "appealEligible": false,
      "appealDeadline": null,
      "finality": "not_served",
      "executable": false,
      "holdReasons": [
        "holdReasons_test"
      ]
    },
    "execution": {
      "status": "not_configured",
      "links": {}
    },
    "links": {}
  },
  "requestId": "requestId_test"
}
```

## Errors

Read the response status and stable error code. See [errors](https://peoplescourt.ai/docs/api/errors.md) and [rate limits](https://peoplescourt.ai/docs/api/rate-limits.md) 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.

## Request examples

Use `https://peoplescourt.ai` with the test credential issued for your integration.

```sh
curl --request GET \
  --url 'https://peoplescourt.ai/api/cases/pcase_test_123' \
  --header 'Authorization: Bearer pk_test_replace_me'
```

```ts
const response = await fetch("https://peoplescourt.ai/api/cases/pcase_test_123", {
  method: "GET",
  headers: {
    "Authorization": "Bearer pk_test_replace_me"
  },
});
if (!response.ok) throw await response.json();
const result = await response.json();
```

```python
import requests

response = requests.get(
    "https://peoplescourt.ai/api/cases/pcase_test_123",
    headers={
      "Authorization": "Bearer pk_test_replace_me"
    },
    timeout=30,
)
response.raise_for_status()
result = response.json()
```
