POSTpartial

Prepare an Answer for the respondent’s hosted review

Draft from structured claim responses, defenses, an optional monetary counterclaim, and declaration fields. This creates no consent, membership or submission. The signed-in respondent must personally accept the exact packet on the hosted page. Review expires after 30 minutes or the Answer deadline, whichever is earlier. Micro-claim counterclaims must be filed as separate cases.

/api/cases/{id}/answer-draftsprepareAccountAnswer

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.

AccountOAuth

Account tokens authorize only their approving account and case scope. S256 PKCE is mandatory on the code flow. Explicit reacceptance is required after Rules/disclosure changes.

Parameters

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

Stable retry key for this operation. Confirmation always converges on the accepted Answer packet.

headerRequired{"type":"string","minLength":1,"maxLength":200}

Request body

Required request body.

application/json

{
  "$ref": "#/components/schemas/AccountAnswerInput",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "responses",
    "defenses",
    "declaration"
  ],
  "properties": {
    "responses": {
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "claimId",
          "response",
          "explanation"
        ],
        "properties": {
          "claimId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 200
          },
          "response": {
            "type": "string",
            "enum": [
              "admitted",
              "denied",
              "partly_admitted"
            ]
          },
          "explanation": {
            "type": "string",
            "minLength": 1,
            "maxLength": 8000
          }
        }
      },
      "maxItems": 100,
      "minItems": 1
    },
    "defenses": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1,
        "maxLength": 8000
      },
      "maxItems": 50
    },
    "counterclaim": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "statement",
        "amountUsd"
      ],
      "properties": {
        "statement": {
          "type": "string",
          "minLength": 1,
          "maxLength": 8000
        },
        "amountUsd": {
          "type": "string",
          "pattern": "^(?:0|[1-9][0-9]{0,9})(?:\\.[0-9]{1,2})?$"
        }
      }
    },
    "declaration": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "declarantName",
        "declarantCapacity",
        "executionLocation"
      ],
      "properties": {
        "declarantName": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "declarantCapacity": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        },
        "executionLocation": {
          "type": "string",
          "minLength": 1,
          "maxLength": 200
        }
      }
    }
  }
}

Responses

201

The authenticated respondent’s Answer state.

application/json

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {
      "$ref": "#/components/schemas/AccountAnswerDraft",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "answerId",
        "caseId",
        "status",
        "acceptance",
        "hostedAcceptanceUrl",
        "expiresAt",
        "answerDeadline",
        "reviewPacket",
        "links"
      ],
      "properties": {
        "schemaVersion": {
          "const": "account-answer-v1"
        },
        "answerId": {
          "type": "string"
        },
        "caseId": {
          "type": "string"
        },
        "status": {
          "type": "string",
          "enum": [
            "awaiting_acceptance",
            "accepted",
            "submitted",
            "expired"
          ]
        },
        "acceptance": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "recorded"
          ],
          "properties": {
            "recorded": {
              "type": "boolean"
            },
            "acceptedAt": {
              "type": "string",
              "format": "date-time"
            },
            "appealWaiverAccepted": {
              "type": "boolean",
              "description": "The respondent’s separate choice recorded on the hosted page. False retains the human appeal even if the claimant offered a waiver. Absent before personal acceptance."
            }
          }
        },
        "hostedAcceptanceUrl": {
          "type": "string",
          "format": "uri"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "answerDeadline": {
          "type": "string",
          "format": "date-time"
        },
        "reviewPacket": {
          "$ref": "#/components/schemas/AccountAnswerReviewPacket",
          "type": "object",
          "additionalProperties": false,
          "required": [
            "schemaVersion",
            "answerId",
            "caseId",
            "respondent",
            "claims",
            "answer",
            "statement",
            "declarationStatement",
            "acceptanceStatement",
            "rules",
            "disclosure",
            "answerDeadline",
            "expiresAt",
            "termsDigest",
            "canonicalBodyDigest"
          ],
          "properties": {
            "schemaVersion": {
              "const": "account-answer-review-v1"
            },
            "answerId": {
              "type": "string"
            },
            "caseId": {
              "type": "string"
            },
            "respondent": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "accountId",
                "name"
              ],
              "properties": {
                "accountId": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                }
              }
            },
            "claims": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "claimId",
                  "title",
                  "statement"
                ],
                "properties": {
                  "claimId": {
                    "type": "string"
                  },
                  "title": {
                    "type": "string"
                  },
                  "statement": {
                    "type": "string"
                  }
                }
              }
            },
            "answer": {
              "$ref": "#/components/schemas/AccountAnswerInput",
              "type": "object",
              "additionalProperties": false,
              "required": [
                "responses",
                "defenses",
                "declaration"
              ],
              "properties": {
                "responses": {
                  "type": "array",
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "claimId",
                      "response",
                      "explanation"
                    ],
                    "properties": {
                      "claimId": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 200
                      },
                      "response": {
                        "type": "string",
                        "enum": [
                          "admitted",
                          "denied",
                          "partly_admitted"
                        ]
                      },
                      "explanation": {
                        "type": "string",
                        "minLength": 1,
                        "maxLength": 8000
                      }
                    }
                  },
                  "maxItems": 100,
                  "minItems": 1
                },
                "defenses": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "maxItems": 50
                },
                "counterclaim": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "statement",
                    "amountUsd"
                  ],
                  "properties": {
                    "statement": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 8000
                    },
                    "amountUsd": {
                      "type": "string",
                      "pattern": "^(?:0|[1-9][0-9]{0,9})(?:\\.[0-9]{1,2})?$"
                    }
                  }
                },
                "declaration": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "declarantName",
                    "declarantCapacity",
                    "executionLocation"
                  ],
                  "properties": {
                    "declarantName": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "declarantCapacity": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    },
                    "executionLocation": {
                      "type": "string",
                      "minLength": 1,
                      "maxLength": 200
                    }
                  }
                }
              }
            },
            "statement": {
              "type": "string"
            },
            "declarationStatement": {
              "type": "string"
            },
            "acceptanceStatement": {
              "type": "string"
            },
            "rules": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "version",
                "hash"
              ],
              "properties": {
                "version": {
                  "type": "string"
                },
                "hash": {
                  "type": "string"
                }
              }
            },
            "disclosure": {
              "type": "object",
              "additionalProperties": false,
              "required": [
                "version",
                "hash"
              ],
              "properties": {
                "version": {
                  "type": "string"
                },
                "hash": {
                  "type": "string"
                }
              }
            },
            "procedureTerms": {
              "$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}$"
                }
              }
            },
            "answerDeadline": {
              "type": "string",
              "format": "date-time"
            },
            "expiresAt": {
              "type": "string",
              "format": "date-time"
            },
            "termsDigest": {
              "type": "string"
            },
            "canonicalBodyDigest": {
              "type": "string"
            }
          }
        },
        "submissionId": {
          "type": "string"
        },
        "links": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "casePage"
          ],
          "properties": {
            "casePage": {
              "type": "string",
              "format": "uri"
            }
          }
        }
      }
    },
    "requestId": {
      "type": "string"
    }
  }
}
default

RFC 9457 style problem response.

application/problem+json

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

Example response

Successful response

{
  "data": {
    "schemaVersion": "account-answer-v1",
    "answerId": "answerId_test",
    "caseId": "pcase_test_123",
    "status": "awaiting_acceptance",
    "acceptance": {
      "recorded": false
    },
    "hostedAcceptanceUrl": "https://partner.test.example/callbacks/peoples-court",
    "expiresAt": "2026-08-09T12:00:00.000Z",
    "answerDeadline": "2026-08-09T12:00:00.000Z",
    "reviewPacket": {
      "schemaVersion": "account-answer-review-v1",
      "answerId": "answerId_test",
      "caseId": "pcase_test_123",
      "respondent": {
        "accountId": "accountId_test",
        "name": "Maya Chen"
      },
      "claims": [
        {
          "claimId": "claimId_test",
          "title": "title_test",
          "statement": "The test delivery did not match the agreed specification."
        }
      ],
      "answer": {
        "responses": [
          {
            "claimId": "claimId_test",
            "response": "admitted",
            "explanation": "explanation_test"
          }
        ],
        "defenses": [
          "defenses_test"
        ],
        "declaration": {
          "declarantName": "Maya Chen",
          "declarantCapacity": "Individual party",
          "executionLocation": "Brussels, Belgium"
        }
      },
      "statement": "The test delivery did not match the agreed specification.",
      "declarationStatement": "The test delivery did not match the agreed specification.",
      "acceptanceStatement": "The test delivery did not match the agreed specification.",
      "rules": {
        "version": "version_test",
        "hash": "hash_test"
      },
      "disclosure": {
        "version": "version_test",
        "hash": "hash_test"
      },
      "answerDeadline": "2026-08-09T12:00:00.000Z",
      "expiresAt": "2026-08-09T12:00:00.000Z",
      "termsDigest": "termsDigest_test",
      "canonicalBodyDigest": "canonicalBodyDigest_test"
    },
    "links": {
      "casePage": "https://partner.test.example/callbacks/peoples-court"
    }
  },
  "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.