201
Show-once respondent invite plus the exact EIP-191 consent message the respondent wallet must sign. The message binds this public caseId and contains no internal dispute identifier.
application/json
{
"type": "object",
"required": [
"data",
"requestId"
],
"properties": {
"data": {
"$ref": "#/components/schemas/RespondentHandoff",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"caseId",
"answerPath",
"consentMessage",
"capabilityDelivery"
],
"properties": {
"schemaVersion": {
"type": "string",
"const": "respondent-handoff-v2"
},
"caseId": {
"type": "string"
},
"action": {
"type": "string",
"enum": [
"file_answer",
"accept_evaluation"
]
},
"actionPath": {
"type": "string"
},
"answerPath": {
"type": "string",
"description": "Alias of actionPath for clients using Answer terminology."
},
"hostedRespondentPath": {
"type": "string",
"description": "Untokenized hosted login path for human respondents. Present for Answer handoffs, not evaluation acceptance."
},
"consentMessage": {
"type": "string",
"description": "Action statement associated with the handoff. For a hosted Answer it is the immutable clickthrough statement bound to the public case and opening draft; for a wallet Answer it is the EIP-191 message whose Case line is the public caseId; for evaluation acceptance it equals confirmationStatement."
},
"confirmationStatement": {
"type": "string",
"description": "Exact digest-bound statement required when accepting a claimant-proposed evaluation."
},
"evaluationDigest": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"capabilityDelivery": {
"type": "string",
"const": "show_once_not_replayed"
},
"showOnce": {
"type": "object",
"additionalProperties": false,
"required": [
"respondentInviteToken"
],
"properties": {
"respondentInviteToken": {
"type": "string"
},
"respondentLoginPath": {
"type": "string",
"description": "Show-once tokenized hosted login path. Never returned by an idempotency replay."
}
}
}
}
},
"requestId": {
"type": "string"
}
}
}