POSTlive

File the respondent Answer

File the respondent Answer.

/api/v2/cases/{caseId}/answeranswerV2

Authentication and authority

Send one of the allowed bearer credential roles. Alternatives are OR; credentials named within one alternative are AND.

respondentAgentBearer

Credential bound to the respondent_agent role. Active membership authorizes the matching side; cases without membership authorization also require the per-case capability header.

Parameters

NameLocationRequirementSchema
caseIdpathRequired{"type":"string"}
Idempotency-KeyheaderRequired{"type":"string","minLength":8,"maxLength":200}

Request body

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"
        }
      }
    }
  ]
}

Responses

201

Versioned data envelope.

application/json

{
  "type": "object",
  "required": [
    "data",
    "requestId"
  ],
  "properties": {
    "data": {},
    "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"
    }
  }
}

Example response

Successful response

{
  "data": {},
  "requestId": "requestId_test"
}

Usage notes

  • Responses reflect the current authoritative resource state.
  • 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