Skip to main content
POST
Un-receive a receipt

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_Test keys use ark_test_ent_. Both are issued per entity
via Settings > Developers > API Keys.

Headers

Idempotency-Key
string

Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours. A second request with the same key sent while the first is still running waits for it and returns its answer; if the first is still running after 20 seconds the second answers 409 idempotency_key_in_use (retryable, nothing done). An answer carrying retryable: true is not cached. Reusing a key with a different request body answers 409 idempotency_key_collision (nothing done; send the new request with a fresh key). The replay, the wait and these two 409 codes come from the idempotency layer, so they apply to the operations that run it, each of which can answer the two codes whether or not its own 409 response lists them. The handlers of these operations take the header but do not run the layer, so on them the key neither replays nor answers either code: createPaymentPlan, chargePaymentPlanInstallment, setProductLocations, updateOrder, emailOrder, updateOrderItem, confirmPickup, markOrderNoShow, applyExistingPaymentToInvoices, updatePackage, movePackageItem, changePackageBox, changePackageCarrier, voidPackageLabel, printPackageLabel, emailPackage, setProNumberV1, setPackageProNumber, sendPurchaseOrderToVendorV1, notifyRevisionPurchaseOrderV1, addMaintenanceLog, generateBOLV1, createReportJobV1 and customerAcknowledgeRevision; recordVendorPrepaymentV1 and recordCustomerDepositV1 hand the key to their own write instead.

Maximum string length: 255

Path Parameters

id
string<uuid>
required
receipt_id
string<uuid>
required

A receipt of the return: the receipt.receipt_id that POST /returns/{id}/receive answered.

Body

application/json
reason
string
required

Why the units are taken back, kept as a note on the return. A missing or empty reason is refused 400 reason_required; one under 10 characters 422 reason_required.

Minimum string length: 10
request_key
string

The act's own key. A retry with the same key and the same request answers the first act and moves nothing (unreceive.replayed: true); the same key with another request is refused 409 request_key_reused. More than 64 characters is refused 422 request_key_invalid.

Maximum string length: 64
client_request_id
string

Read as request_key when request_key is not sent.

Maximum string length: 64
items
object[]

The receipt items to take back and how many units of each. Without it, every unit of the receipt that is not put away.

Response

Un-received. The return as GET /returns/{id} answers it, with what this act took back as unreceive (a retry with the same key answers the first act's, replayed: true).

data
object
required

RMA (return merchandise authorization). Phase A -- refund_amount is readOnly via PATCH; written only by POST /v1/returns/{id}/refund.