OUTCOME · Create or advance
What changes
Validates all three subject-owned commitments, marks the originator participant READY, advances the intent to SCREENING, and appends signed evidence. It sends no ciphertext and moves no value.
v2Transfer compliance
/api/v2/transfer-compliance/transfers/{transfer_uuid}/disclosuresPURPOSE + BUSINESS CONTEXT
WHEN THIS CALL IS USEFUL
Use only when a subject-owned intent is DATA_REQUIRED and the credential portfolio shows a current formal credential, primary-vault wallet proof, and consent-bound disclosure manifest.
OUTCOME · Create or advance
Validates all three subject-owned commitments, marks the originator participant READY, advances the intent to SCREENING, and appends signed evidence. It sends no ciphertext and moves no value.
WHY IT MATTERS
ISOLATION + AUTHORITY
Owner, workspace, counterparty, VASP, credential issuer, wallet controller, transfer, reviewer, disclosure recipient, purpose, and retention boundaries remain distinct. A credential, preparation, decision, manifest, envelope, disclosure, or Explorer record neither moves value nor substitutes for wallet authorization, sanctions policy, rail admission, settlement, or finality.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
The exact deployed parameters, schemas, responses, security requirements, and Hybrid-Chain agent metadata are authoritative at this operation's production OpenAPI JSON Pointer. The readable tables below add integration guidance; the deployed OpenAPI controls if guidance and the machine contract ever differ.
Open the authoritative production contract ↗EXTENDED INTEGRATION GUIDANCE
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing the compliance:write scope.EXAMPLEBearer hc_live_…
Idempotency-KeyheaderRequiredASCII string · 1–128Caller-generated key reused for every retry of the same logical mutation.EXAMPLElaunch-treasury-v1-001
Content-TypeheaderRequiredapplication/jsonSigned mutations accept canonical JSON only.EXAMPLEapplication/json
Content-DigestheaderRequiredRFC 9530 SHA-256 digestDigest of the exact transmitted body bytes.EXAMPLEsha-256=:47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=:
Signature-InputheaderRequiredRFC 9421 signature parametersCovers @method, @path, content-digest, content-type, and idempotency-key; includes keyid, nonce, created, and expires.EXAMPLEsig1=("@method" "@path" "content-digest" "content-type" "idempotency-key");created=1786582800;expires=1786583100;nonce="01J…";keyid="machine-prod"
SignatureheaderRequiredEd25519 HTTP Message SignatureSignature made by an active public key registered to the authenticated client.EXAMPLEsig1=:base64-signature:
transfer_uuidpathRequired32-character hexadecimal identifierCaller-owned DATA_REQUIRED transfer.EXAMPLE61d9d2f6d6ab4be6b1d11d6193236f71
credential_referencebodyRequiredidentifier · 1–96Current formal credential owned by the authenticated subject.EXAMPLEcredential-originator
disclosure_manifest_commitmentbodyRequired64-character SHA-256 hex digestCommitment to the current consent-, purpose-, counterparty-, claim-, and expiry-bound disclosure manifest.EXAMPLE3333333333333333333333333333333333333333333333333333333333333333
wallet_proof_commitmentbodyRequired64-character SHA-256 hex digestCommitment to the current primary-vault wallet-control proof.EXAMPLE4444444444444444444444444444444444444444444444444444444444444444
evidencebodyOptionalobjectOptional public-safe codes and commitments. Raw claims, credentials, proof material, and ciphertext are forbidden.EXAMPLE{"evidence_commitment":"5555555555555555555555555555555555555555555555555555555555555555"}
REQUEST
{
"credential_reference": "credential-originator",
"disclosure_manifest_commitment": "3333333333333333333333333333333333333333333333333333333333333333",
"wallet_proof_commitment": "4444444444444444444444444444444444444444444444444444444444444444",
"evidence": {
"evidence_commitment": "5555555555555555555555555555555555555555555555555555555555555555"
}
}RESPONSES
{
"transfer_id": "61d9d2f6d6ab4be6b1d11d6193236f71",
"state": "SCREENING",
"event": {
"event_id": "event-screening",
"sequence": 3,
"event_type": "DISCLOSURE_SUBMITTED",
"from_state": "DATA_REQUIRED",
"to_state": "SCREENING",
"evidence_commitments": {
"disclosure_manifest_commitment": "3333333333333333333333333333333333333333333333333333333333333333",
"wallet_proof_commitment": "4444444444444444444444444444444444444444444444444444444444444444"
},
"value_moved": false,
"previous_event_hash": "6666666666666666666666666666666666666666666666666666666666666666",
"event_hash": "2222222222222222222222222222222222222222222222222222222222222222",
"signature_algorithm": "Ed25519",
"signature_key_id": "transfer-evidence-2026-09",
"signature": "base64url-signature",
"created_at": "2026-09-01T17:44:00Z"
},
"review": null
}{
"code": "transfer_or_evidence_not_found",
"message": "The transfer or referenced caller-owned compliance evidence is unavailable."
}transfer_or_evidence_not_found{
"code": "invalid_json",
"message": "The JSON body or required signed headers are malformed."
}invalid_json{
"code": "invalid_credentials",
"message": "The bearer credential or RFC 9421 request signature is missing, expired, replayed, or invalid."
}invalid_credentials{
"code": "insufficient_scope",
"message": "The credential lacks the required compliance:write or compliance:review scope."
}insufficient_scope{
"code": "transfer_compliance_conflict",
"message": "The Idempotency-Key conflicts with another request or the requested lifecycle transition is forbidden."
}transfer_compliance_conflict{
"code": "invalid_transfer_compliance_command",
"message": "An identifier, field, commitment, public key, evidence object, or Idempotency-Key is outside the documented contract."
}invalid_transfer_compliance_command{
"code": "transfer_compliance_unavailable",
"message": "The authoritative Core transfer-compliance command boundary is unavailable."
}transfer_compliance_unavailableOPERATIONAL NOTES
This route is implemented in canonical gateway source and appears in the production OpenAPI snapshot observed 2026-09-11T06:35:11.572Z. Authentication, tenant, feature, venue, and market policy still apply.
Verify the exact production OpenAPI operation ↗Return to the V2 directory ↗