201
Versioned data envelope.
application/json
{
"type": "object",
"required": [
"data",
"requestId"
],
"properties": {
"data": {},
"requestId": {
"type": "string"
}
}
}File the respondent Answer.
/api/v2/cases/{caseId}/answeranswerV2Send one of the allowed bearer credential roles. Alternatives are OR; credentials named within one alternative are AND.
respondentAgentBearerCredential bound to the respondent_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.
| Name | Location | Requirement | Schema |
|---|---|---|---|
caseId | path | Required | {"type":"string"} |
Idempotency-Key | header | Required | {"type":"string","minLength":8,"maxLength":200} |
Required request body.
application/json
{
"$ref": "#/components/schemas/Answer",
"oneOf": [
{
"$ref": "#/components/schemas/MembershipAnswer",
"type": "object",
"additionalProperties": false,
"required": [
"protocolActor",
"protocolPrincipal",
"protocolSource",
"position"
],
"properties": {
"protocolActor": {
"type": "string",
"minLength": 1,
"pattern": "\\S",
"description": "Must equal the active respondent membership agent ID, or the authenticated credential public ID when the membership has no immutable agent."
},
"protocolPrincipal": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"protocolSource": {
"type": "string",
"minLength": 1,
"pattern": "\\S"
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"human",
"entity",
"agent"
]
},
"position": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"pattern": "\\S"
},
"evidence": {
"type": "array",
"items": {
"type": "string"
}
},
"relief": {
"type": "string",
"maxLength": 2000
},
"declaratoryRelief": {
"type": "string",
"maxLength": 4000,
"pattern": "^\\s*$|^\\s*[Dd][Ee][Cc][Ll][Aa][Rr][Ee]\\s+[Tt][Hh][Aa][Tt]\\s+\\S"
},
"hasPrincipal": {
"type": "boolean"
},
"principalCompressedClockConsent": {
"type": "boolean"
}
}
},
{
"$ref": "#/components/schemas/WalletInviteAnswer",
"type": "object",
"additionalProperties": false,
"required": [
"inviteToken",
"walletAddress",
"signature",
"position"
],
"properties": {
"inviteToken": {
"type": "string",
"minLength": 1
},
"walletAddress": {
"type": "string",
"pattern": "^0x[A-Fa-f0-9]{40}$"
},
"signature": {
"type": "string",
"pattern": "^0x[A-Fa-f0-9]{130}$"
},
"name": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"human",
"entity",
"agent"
]
},
"position": {
"type": "string",
"minLength": 1,
"maxLength": 20000,
"pattern": "\\S"
},
"evidence": {
"type": "array",
"items": {
"type": "string"
}
},
"relief": {
"type": "string",
"maxLength": 2000
},
"declaratoryRelief": {
"type": "string",
"maxLength": 4000,
"pattern": "^\\s*$|^\\s*[Dd][Ee][Cc][Ll][Aa][Rr][Ee]\\s+[Tt][Hh][Aa][Tt]\\s+\\S"
},
"hasPrincipal": {
"type": "boolean"
},
"principalCompressedClockConsent": {
"type": "boolean"
}
}
}
]
}Versioned data envelope.
application/json
{
"type": "object",
"required": [
"data",
"requestId"
],
"properties": {
"data": {},
"requestId": {
"type": "string"
}
}
}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"
}
}
}{
"data": {},
"requestId": "requestId_test"
}Idempotency-Key. An exact retry returns the stored result; reusing the key with a different request fails.