Skip to main content
POST
Request to vault a unit

Authorizations

Authorization
string
header
required

Use Authorization: Bearer end_sess_* for V2 browser session tokens (e.g. end_sess_ZW5kc3RhdGUtZXhhbXBsZS1zZXNzaW9uLXRva2VuAAA).

Headers

Idempotency-Key
string

Unique key that makes this request safe to retry. Replaying the key with the same body returns the original response with Idempotent-Replayed: true; replaying it with a different body returns 409 idempotency.key_conflict.

Required string length: 1 - 255
Example:

"a1b2c3d4-0000-4000-8000-000000000000"

Path Parameters

unit_id
string<uuid>
required

Body

application/json
vault_id
string<uuid>
required

The vault to hold the item. It must be the brand's default vault or another vault the brand allows.

nonce
string
required

The 32-byte nonce in the owner's signed approval.

Pattern: ^0x[0-9a-fA-F]{64}$
owner_signature
string
required

The owner's signature over the approval.

Pattern: ^0x(?:[0-9a-fA-F]{2})+$

Response

The pending vault request.

id
string<uuid>
required
unit_id
string<uuid>
required
vault
object
required
status
enum<string>
required
Available options:
pending,
submitted,
active,
unvault_waiting,
unvaulting,
unvaulted,
cancelled,
expired,
rejected,
failed
notes
string | null
required
rejection_reason
enum<string> | null
required

Why the request was rejected: the vault's reason, or owner_changed when the unit changed hands after its owner approved.

Available options:
wrong_item,
chip_unreadable,
unacceptable,
owner_changed,
null
decided_at
string<date-time> | null
required
available_at
string<date-time> | null
required
hold
object | null
required
ready_to_ship
boolean
required

Whether the item is ready to ship: its waiting period has ended and nothing holds it. The vault records dispatch with a tap of the item from then on.

dispatched_at
string<date-time> | null
required

When the vault's tap recorded the item's dispatch. Endstate then completes the unvault; the vault hands the item over once the request reads unvaulted.

expires_at
string<date-time> | null
required

When a pending request expires; null once it has moved on.

created_at
string<date-time>
required