Update an announcement

PATCH /api/v1/inbound-shipments/:id write:inbound_shipment

Changes an announcement while the package is still EXPECTED. Send only the fields you want to change: a field you leave out is untouched, and null clears one (sub_account: null files the box back under your own inventory). metadata is replaced whole, never merged — send the full object. The tracking number and the site cannot be changed here; cancel and announce again for those. Once the box is received the announcement is frozen (409) because the bench may already have acted on it — attachments can still be added at any time. A cancelled announcement cannot be edited either; announce the package again.

Every successful update writes inbound_shipment.updated to your activity log with the list of fields that changed.

Try it PATCH /api/v1/inbound-shipments/0 write

These inputs are shared across all docs pages, so an id entered here carries over.

request body
object · 2 keys
{
  "card_count": 118,
  "note": "Two cards pulled before shipping"
}
response

Not run yet. Press Run to make a live call against https://service.rip.fun (through this demo's server-side proxy; the API key never reaches the browser).

curl (tracks the inputs above)
curl -X PATCH 'https://service.rip.fun/api/v1/inbound-shipments/0' \
  -H 'X-API-Key: rip_…' \
  -H 'Content-Type: application/json' \
  -d '{"card_count":118,"note":"Two cards pulled before shipping"}'

Request fields

FieldTypeRequiredDescription
sub_accountstring | null—A live sub-account slug, or null / "main" for your own inventory. Same rules as on create
card_countint | null—0..100000, or null to clear
reference / note / carrierstring | null—Same limits as on create (128 / 512 / 32 chars); null clears
metadataobject | null—Replaces the stored object; at most 8 KB serialised; null clears

Response fields (data)

FieldDescription
inbound_shipmentSame shape as POST /inbound-shipments, after the change

Errors

StatusCodeWhen
400nothing to updatethe body carries none of the fields above
400invalid inputa field fails the same validation as on create, including an unknown or retired sub_account
404not foundinbound shipment not part of your account
409already received / cancelledthe package is no longer EXPECTED; the message says which

See Errors for the response envelope and the full code list.