OUTCOME · Create or advance
What changes
Creates or advances only the submit customer asset document proposal resource described by this contract after authorization, validation, policy, and idempotency gates pass.
MPC wallet lifecycle
/api/v2/wallets/asset-document-proposalsPurpose and usage
Any authenticated Wallets user may submit a private unapproved token document under narrow proposal authority and current tenant/workspace policy. Retains the original import UUIDs; never grants approval, decoder, wallet-management or signing authority.
When to use it
Call this when a wallet, treasury, custody, or governed agent workflow needs to apply the documented submit customer asset document proposal transition after re-reading the current authoritative state so it can make a custody decision inside the correct owner, workspace, network, and policy boundary.
OUTCOME · Create or advance
Creates or advances only the submit customer asset document proposal resource described by this contract after authorization, validation, policy, and idempotency gates pass.
WHY IT MATTERS
ISOLATION + AUTHORITY
The authenticated owner, workspace, network, and wallet policy remain authoritative. A wallet record, policy result, approval, ceremony, or balance never grants another lifecycle stage and cannot substitute for threshold signing or separately owned funding, settlement, publisher, matching, or trading authority.
BEFORE YOU CALL
WHAT TO DO NEXT
AGENT GUIDANCE
This source-implemented operation is not listed in the recorded production contract. Use this page to prepare, not execute, your integration.
Request and response
Examples illustrate integration intent; the referenced OpenAPI operation and component schemas define the executable shape.
PARAMETERS
AuthorizationheaderRequiredBearer tokenCredential containing wallets:assets:submit authority.EXAMPLEBearer hc_live_…
Idempotency-KeyheaderRequiredASCII string · 8–128 · letters, digits or ._:-Caller-generated stable key reused for retries of the same logical mutation.EXAMPLEpost-api-v2-wallets-asset-document-proposals-request-001
X-Request-IDheaderOptionalstringOptional caller correlation identifier. The gateway emits the effective value on the response.
Content-DigestheaderRequiredstringRFC 9530 sha-256 digest of the exact transmitted request-body bytes.
Signature-InputheaderRequiredstringRFC 9421 sig1 input covering @method, @path, content-digest, content-type, and idempotency-key, with created, expires, nonce, keyid, and alg=ed25519.
SignatureheaderRequiredstringRFC 9421 sig1 Ed25519 signature made by an active key registered to the bearer client.
asset_uuidbodyRequiredcanonical lowercase UUIDv4Exact asset deployment on that chain. It is validated as part of the request body before any operation is attempted.EXAMPLEaaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
chain_uuidbodyRequiredcanonical lowercase UUIDv4Exact registered chain identity; never a ticker.EXAMPLEaaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
documentbodyRequiredbounded JSONMaximum 65536 serialized bytes, depth 24, 8192 nodes and 256 members per container. Duplicate keys and fractional numbers are rejected; Core validates the format-specific subset.EXAMPLE[object Object]
document_formatbodyRequiredAssetDocumentFormatInert proposal format, not decoder authorization.Allowed: DISPLAY_METADATA_V1 | SOLIDITY_ABI_JSON_V1EXAMPLEDISPLAY_METADATA_V1
import_idempotency_keybodyRequiredASCII string · 8–128Original import key; letters, digits or ._:- only.EXAMPLEimport-idempotency-key-01
inspection_uuidbodyRequiredcanonical lowercase UUIDv4Inspection retained by the same owner-scoped import.EXAMPLEaaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
supersedes_uuidbodyOptionalcanonical lowercase UUIDv4 | nullPrevious receipt in this exact owner/import scope; corrections never overwrite it.Explicit null acceptedEXAMPLEaaaaaaaa-aaaa-4aaa-8aaa-aaaaaaaaaaaa
REQUEST
{
"asset_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"chain_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"document": "example-document",
"document_format": "DISPLAY_METADATA_V1",
"import_idempotency_key": "example-import-idempotency-key",
"inspection_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB",
"supersedes_uuid": "01K4A7M4N8Y2Q6R9T3V5W7X1ZB"
}RESPONSES
"example-value""example-value"{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentials{
"code": "invalid_credentials",
"message": "the supplied Hybrid credential is invalid"
}invalid_credentialsOPERATIONAL NOTES
This route is implemented in canonical gateway source but does not appear in the production OpenAPI snapshot observed 2026-10-02T23:27:55.510Z. Deploy the matching gateway release before integrating it.
Return to the V2 directory