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

POSTpartial

Accept the pinned terms and file an Answer atomically

File the respondent’s Answer using the supported session, partner, or wallet/invitation authority. The respondent must accept the exact case terms and make the required declaration. The case phase, deadline, identity and duplicate-filing checks apply to every request.

/api/cases/{id}/answerfileAnswerPreview

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

NameLocationRequirementSchema
idpathRequired{"type":"string"}
Idempotency-KeyheaderOptional{"type":"string"}

Request body

Required request body.

application/json

{
  "$ref": "#/components/schemas/CanonicalAnswerInput",
  "description": "Canonical Answer body. Exactly one credential class applies per request, and each states its own required fields.",
  "anyOf": [
    {
      "$ref": "#/components/schemas/CanonicalSessionAnswerInput",
      "allOf": [
        {
          "$ref": "#/components/schemas/CanonicalAnswerFields",
          "type": "object",
          "description": "Answer fields shared by every credential class. The three input schemas that compose this one state which of them each credential class must send.",
          "properties": {
            "agree": {
              "type": "boolean",
              "description": "Required for a session caller; the hosted operation refuses an Answer without it."
            },
            "principalKind": {
              "type": "string",
              "description": "Canonical vocabulary for the responding principal. The adapter maps it to the stored party type; do not also send type.",
              "enum": [
                "individual",
                "organization",
                "autonomous_agent"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "human",
                "entity",
                "agent"
              ]
            },
            "name": {
              "type": "string"
            },
            "position": {
              "type": "string",
              "maxLength": 20000,
              "description": "Required for a bearer Answer."
            },
            "evidence": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "counterclaim": {
              "$ref": "#/components/schemas/TypedMoneyCounterclaim",
              "type": "object",
              "additionalProperties": false,
              "description": "An affirmative money request against the claimant on a case pinned to typed-counterclaim-v1. Omit for defense only. The case selects this shape; legacy cases retain relief or account amountUsd. No amount is inferred from the statement.",
              "required": [
                "statement"
              ],
              "properties": {
                "statement": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "amount": {
                  "description": "Optional positive amount exactly representable in safe integer micro-units. If present, currency must equal the case currency. No intake ceiling applies.",
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$"
                    },
                    {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  ]
                },
                "currency": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              }
            },
            "relief": {
              "description": "Legacy cases only; v1 cases return answer_relief_field_retired. Mixing relief and counterclaim returns answer_mixed_counterclaim_shapes.",
              "type": "string",
              "maxLength": 2000
            },
            "declaratoryRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "orderRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "hasPrincipal": {
              "type": "boolean"
            },
            "principalCompressedClockConsent": {
              "type": "boolean"
            },
            "protocolActor": {
              "type": "string",
              "description": "Required with protocolPrincipal and protocolSource for a membership-authorized bearer Answer."
            },
            "protocolPrincipal": {
              "type": "string"
            },
            "protocolSource": {
              "type": "string"
            },
            "inviteToken": {
              "type": "string",
              "description": "Wallet-invite Answer only; a membership-authorized Answer must omit it."
            },
            "walletAddress": {
              "type": "string"
            },
            "signature": {
              "type": "string"
            },
            "attest": {
              "type": "boolean"
            },
            "declarantName": {
              "type": "string"
            },
            "declarantCapacity": {
              "type": "string"
            },
            "executionLocation": {
              "type": "string"
            },
            "openingDraftDigest": {
              "type": "string"
            },
            "acceptanceStatementHash": {
              "type": "string"
            },
            "procedureTermsHash": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$",
              "description": "Required for non-wallet acceptance of a new case: copy the exact case procedure termsHash."
            },
            "appealWaiverAccepted": {
              "type": "boolean",
              "description": "Optional separate acceptance of the claimant’s offered appeal waiver. False retains the human appeal for both parties. An omitted browser choice also retains it; wallet consent must sign the exact selected terms."
            }
          }
        }
      ],
      "required": [
        "agree",
        "position",
        "attest",
        "declarantName",
        "declarantCapacity",
        "executionLocation"
      ],
      "description": "Account session Answer. The operation refuses an Answer without agreement to arbitrate and without the complete human declaration. A respondent who is not the case's verified contact also presents the invitation through inviteToken, and a case opened with pinned hosted terms presents the exact openingDraftDigest and acceptanceStatementHash from that invitation; both stay optional here because they depend on how the respondent was designated, not on the Answer itself. Membership proof, invitation use, consent and the Answer remain one atomic commit."
    },
    {
      "$ref": "#/components/schemas/CanonicalPartnerAnswerInput",
      "allOf": [
        {
          "$ref": "#/components/schemas/CanonicalAnswerFields",
          "type": "object",
          "description": "Answer fields shared by every credential class. The three input schemas that compose this one state which of them each credential class must send.",
          "properties": {
            "agree": {
              "type": "boolean",
              "description": "Required for a session caller; the hosted operation refuses an Answer without it."
            },
            "principalKind": {
              "type": "string",
              "description": "Canonical vocabulary for the responding principal. The adapter maps it to the stored party type; do not also send type.",
              "enum": [
                "individual",
                "organization",
                "autonomous_agent"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "human",
                "entity",
                "agent"
              ]
            },
            "name": {
              "type": "string"
            },
            "position": {
              "type": "string",
              "maxLength": 20000,
              "description": "Required for a bearer Answer."
            },
            "evidence": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "counterclaim": {
              "$ref": "#/components/schemas/TypedMoneyCounterclaim",
              "type": "object",
              "additionalProperties": false,
              "description": "An affirmative money request against the claimant on a case pinned to typed-counterclaim-v1. Omit for defense only. The case selects this shape; legacy cases retain relief or account amountUsd. No amount is inferred from the statement.",
              "required": [
                "statement"
              ],
              "properties": {
                "statement": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "amount": {
                  "description": "Optional positive amount exactly representable in safe integer micro-units. If present, currency must equal the case currency. No intake ceiling applies.",
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$"
                    },
                    {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  ]
                },
                "currency": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              }
            },
            "relief": {
              "description": "Legacy cases only; v1 cases return answer_relief_field_retired. Mixing relief and counterclaim returns answer_mixed_counterclaim_shapes.",
              "type": "string",
              "maxLength": 2000
            },
            "declaratoryRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "orderRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "hasPrincipal": {
              "type": "boolean"
            },
            "principalCompressedClockConsent": {
              "type": "boolean"
            },
            "protocolActor": {
              "type": "string",
              "description": "Required with protocolPrincipal and protocolSource for a membership-authorized bearer Answer."
            },
            "protocolPrincipal": {
              "type": "string"
            },
            "protocolSource": {
              "type": "string"
            },
            "inviteToken": {
              "type": "string",
              "description": "Wallet-invite Answer only; a membership-authorized Answer must omit it."
            },
            "walletAddress": {
              "type": "string"
            },
            "signature": {
              "type": "string"
            },
            "attest": {
              "type": "boolean"
            },
            "declarantName": {
              "type": "string"
            },
            "declarantCapacity": {
              "type": "string"
            },
            "executionLocation": {
              "type": "string"
            },
            "openingDraftDigest": {
              "type": "string"
            },
            "acceptanceStatementHash": {
              "type": "string"
            },
            "procedureTermsHash": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$",
              "description": "Required for non-wallet acceptance of a new case: copy the exact case procedure termsHash."
            },
            "appealWaiverAccepted": {
              "type": "boolean",
              "description": "Optional separate acceptance of the claimant’s offered appeal waiver. False retains the human appeal for both parties. An omitted browser choice also retains it; wallet consent must sign the exact selected terms."
            }
          }
        }
      ],
      "required": [
        "position",
        "protocolActor",
        "protocolPrincipal",
        "protocolSource"
      ],
      "description": "Membership-authorized bearer Answer. The protocol provenance names the acting agent, its principal and the source that authorizes it; invite and wallet proof fields must be absent."
    },
    {
      "$ref": "#/components/schemas/CanonicalWalletAnswerInput",
      "allOf": [
        {
          "$ref": "#/components/schemas/CanonicalAnswerFields",
          "type": "object",
          "description": "Answer fields shared by every credential class. The three input schemas that compose this one state which of them each credential class must send.",
          "properties": {
            "agree": {
              "type": "boolean",
              "description": "Required for a session caller; the hosted operation refuses an Answer without it."
            },
            "principalKind": {
              "type": "string",
              "description": "Canonical vocabulary for the responding principal. The adapter maps it to the stored party type; do not also send type.",
              "enum": [
                "individual",
                "organization",
                "autonomous_agent"
              ]
            },
            "type": {
              "type": "string",
              "enum": [
                "human",
                "entity",
                "agent"
              ]
            },
            "name": {
              "type": "string"
            },
            "position": {
              "type": "string",
              "maxLength": 20000,
              "description": "Required for a bearer Answer."
            },
            "evidence": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "counterclaim": {
              "$ref": "#/components/schemas/TypedMoneyCounterclaim",
              "type": "object",
              "additionalProperties": false,
              "description": "An affirmative money request against the claimant on a case pinned to typed-counterclaim-v1. Omit for defense only. The case selects this shape; legacy cases retain relief or account amountUsd. No amount is inferred from the statement.",
              "required": [
                "statement"
              ],
              "properties": {
                "statement": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 2000
                },
                "amount": {
                  "description": "Optional positive amount exactly representable in safe integer micro-units. If present, currency must equal the case currency. No intake ceiling applies.",
                  "anyOf": [
                    {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]*)(?:\\.[0-9]{1,6})?$"
                    },
                    {
                      "type": "number",
                      "exclusiveMinimum": 0
                    }
                  ]
                },
                "currency": {
                  "type": "string",
                  "minLength": 1,
                  "maxLength": 100
                }
              }
            },
            "relief": {
              "description": "Legacy cases only; v1 cases return answer_relief_field_retired. Mixing relief and counterclaim returns answer_mixed_counterclaim_shapes.",
              "type": "string",
              "maxLength": 2000
            },
            "declaratoryRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "orderRelief": {
              "type": "string",
              "maxLength": 4000
            },
            "hasPrincipal": {
              "type": "boolean"
            },
            "principalCompressedClockConsent": {
              "type": "boolean"
            },
            "protocolActor": {
              "type": "string",
              "description": "Required with protocolPrincipal and protocolSource for a membership-authorized bearer Answer."
            },
            "protocolPrincipal": {
              "type": "string"
            },
            "protocolSource": {
              "type": "string"
            },
            "inviteToken": {
              "type": "string",
              "description": "Wallet-invite Answer only; a membership-authorized Answer must omit it."
            },
            "walletAddress": {
              "type": "string"
            },
            "signature": {
              "type": "string"
            },
            "attest": {
              "type": "boolean"
            },
            "declarantName": {
              "type": "string"
            },
            "declarantCapacity": {
              "type": "string"
            },
            "executionLocation": {
              "type": "string"
            },
            "openingDraftDigest": {
              "type": "string"
            },
            "acceptanceStatementHash": {
              "type": "string"
            },
            "procedureTermsHash": {
              "type": "string",
              "pattern": "^[a-f0-9]{64}$",
              "description": "Required for non-wallet acceptance of a new case: copy the exact case procedure termsHash."
            },
            "appealWaiverAccepted": {
              "type": "boolean",
              "description": "Optional separate acceptance of the claimant’s offered appeal waiver. False retains the human appeal for both parties. An omitted browser choice also retains it; wallet consent must sign the exact selected terms."
            }
          }
        }
      ],
      "required": [
        "position",
        "inviteToken",
        "walletAddress",
        "signature"
      ],
      "description": "Wallet-invitation Answer. The signature is verified against the invitation; membership protocol fields must be absent."
    }
  ]
}

Responses

200

Authorized operation result.

application/json

{
  "$ref": "#/components/schemas/CanonicalFileAnswerPreviewResponse",
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalAnswerResult",
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string"
        },
        "caseId": {
          "type": "string"
        },
        "accepted": {
          "type": "boolean"
        },
        "capabilityDelivery": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "phase": {
          "type": "string"
        },
        "deadlines": {
          "type": "object",
          "properties": {
            "answer": {
              "type": "string"
            },
            "evidence": {
              "type": "string"
            },
            "rebuttal": {
              "type": "string"
            }
          }
        },
        "walletVerified": {
          "type": "boolean"
        },
        "authorization": {
          "type": "string"
        },
        "showOnce": {
          "type": "object",
          "properties": {
            "respondentPartyToken": {
              "type": "string"
            }
          }
        },
        "respondentToken": {
          "type": "string",
          "description": "Show-once hosted respondent capability; never log it."
        },
        "trackNote": {
          "type": "string"
        },
        "ran": {
          "const": false
        },
        "answerReference": {
          "type": "object",
          "properties": {
            "caseId": {
              "type": "string"
            },
            "submissionId": {
              "type": "string"
            },
            "membershipId": {
              "type": "string"
            },
            "revision": {
              "type": "integer"
            },
            "followUpEventId": {
              "type": "string"
            }
          }
        }
      },
      "anyOf": [
        {
          "required": [
            "status"
          ]
        },
        {
          "required": [
            "schemaVersion",
            "caseId",
            "accepted",
            "capabilityDelivery"
          ]
        }
      ]
    },
    "requestId": {
      "type": "string"
    }
  },
  "required": [
    "data",
    "requestId"
  ]
}
201

Answer or invitation created through the shared partner operation.

application/json

{
  "$ref": "#/components/schemas/CanonicalFileAnswerPreviewResponse",
  "type": "object",
  "properties": {
    "data": {
      "$ref": "#/components/schemas/CanonicalAnswerResult",
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string"
        },
        "caseId": {
          "type": "string"
        },
        "accepted": {
          "type": "boolean"
        },
        "capabilityDelivery": {
          "type": "string"
        },
        "status": {
          "type": "string"
        },
        "phase": {
          "type": "string"
        },
        "deadlines": {
          "type": "object",
          "properties": {
            "answer": {
              "type": "string"
            },
            "evidence": {
              "type": "string"
            },
            "rebuttal": {
              "type": "string"
            }
          }
        },
        "walletVerified": {
          "type": "boolean"
        },
        "authorization": {
          "type": "string"
        },
        "showOnce": {
          "type": "object",
          "properties": {
            "respondentPartyToken": {
              "type": "string"
            }
          }
        },
        "respondentToken": {
          "type": "string",
          "description": "Show-once hosted respondent capability; never log it."
        },
        "trackNote": {
          "type": "string"
        },
        "ran": {
          "const": false
        },
        "answerReference": {
          "type": "object",
          "properties": {
            "caseId": {
              "type": "string"
            },
            "submissionId": {
              "type": "string"
            },
            "membershipId": {
              "type": "string"
            },
            "revision": {
              "type": "integer"
            },
            "followUpEventId": {
              "type": "string"
            }
          }
        }
      },
      "anyOf": [
        {
          "required": [
            "status"
          ]
        },
        {
          "required": [
            "schemaVersion",
            "caseId",
            "accepted",
            "capabilityDelivery"
          ]
        }
      ]
    },
    "requestId": {
      "type": "string"
    }
  },
  "required": [
    "data",
    "requestId"
  ]
}
404

The resource is unavailable or the caller lacks access.

default

Stable problem code and requestId; no protected state disclosed.

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": {
    "status": "status_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.
  • Send a unique Idempotency-Key. An exact retry returns the stored result; reusing the key with a different request fails.
  • The request is accepted only when its credential, authority, case state, and resource preconditions are satisfied.

Likely next action: Read the case and submit in the selected stage →