Aller au contenu

Get a sales return by return number

Looks up a sales return by return number and returns the same payload as GET /returns/{return_id}.


Whitespace is ignored and letters are uppercased.

GEThttps://rest.boxhero-app.com/v1/returns/by-number/{return_number}
Authorizationstringobligatoire

En-tête d'authentification Bearer au format Bearer <token>, où <token> est votre jeton d'API.

return_numberstringobligatoire

Return number. Whitespace is ignored and letters are uppercased. Use only letters, numbers, hyphens, and underscores.

200The requested sales return.
itemReturnobligatoire

A sales return with lines, per-item receiving progress, and linked transactions.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Return id.

return_numberstringobligatoire

Return number.

return_timestringdate-timeobligatoire

Return date/time.

statusstringobligatoire

Return status. Recording stock through the return's transaction endpoints advances the status automatically: confirmed becomes in-progress once any quantity is received, and done once nothing remains. A done return is never reverted by such transaction changes.

Valeurs possiblesconfirmedin-progressdone

partnerEntitynullableobligatoire

Customer for the sales return.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

orderOrderRefobligatoire

Reference to the source sales order for a return.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Order id.

order_numberstringobligatoire

Order number.

total_pricestringobligatoire

Return total as a decimal string.

currency_codestringnullableobligatoire

Source sales order ISO currency code, or null when unset.

memostringobligatoire

Free-text memo. Empty string when not set.

revisionintegerminimum -9007199254740991, maximum 9007199254740991obligatoire

Optimistic-concurrency version.

created_byEntityobligatoire

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

created_atstringdate-timeobligatoire

Server-side creation timestamp.

urlstringuriobligatoire

Web URL to view this return in the BoxHero app.

tagsarray of stringobligatoire

Read-only tags parsed from the memo.

itemsarray of ReturnLineobligatoire

Detailed return lines.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Return line id.

rankintegerminimum -9007199254740991, maximum 9007199254740991obligatoire

Line rank in the return.

order_item_idintegerminimum 0, maximum 2147483647obligatoire

Source order line id.

itemExtendedItemEntitynullableobligatoire

Set when the line references a single item.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

bundleExtendedItemEntitynullableobligatoire

Set when the line references a bundle.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

pricestringobligatoire

Returned line amount, not a unit price: the source order line's total (including tax and discount) scaled by returned quantity / ordered quantity. Equal to subtotal and total.

quantitynumberobligatoire

Quantity. May include up to four decimal places in core data.

tax_namestringnullableobligatoire

Always null on return lines.

tax_ratestringnullableobligatoire

Always null on return lines.

tax_inclusivebooleannullableobligatoire

Always null on return lines.

discount_namestringnullableobligatoire

Always null on return lines.

discount_typestringnullableobligatoire

Always null on return lines.

Valeurs possiblespercentamount

discount_valuestringnullableobligatoire

Always null on return lines.

subtotalstringobligatoire

Same as price: the returned line amount.

discount_amountstringobligatoire

Always "0"; any source discount is already reflected in price.

tax_amountstringobligatoire

Always "0"; any source tax is already reflected in price.

totalstringobligatoire

Same as price: the returned line amount.

tx_itemsarray of FulfillmentTxItemobligatoire

Per-item receiving progress. Bundle return lines are exploded and duplicate items are collapsed.

Afficher les propriétés
itemExtendedItemEntityobligatoire

Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Item or bundle id.

namestringobligatoire

Display name.

skustringobligatoire

SKU. Empty string when unset.

barcodestringobligatoire

Barcode. Empty string when unset.

deletedbooleanobligatoire

Whether the underlying item or bundle is deleted.

ordered_quantitynumberobligatoire

Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.

fulfilled_quantitynumberobligatoire

Absolute quantity already fulfilled or received for this item.

pending_quantitynumberobligatoire

Remaining quantity for this item, clamped to zero when over-fulfilled.

transactionsarray of OrderTransactionSummaryobligatoire

Inventory transactions linked to this return.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Location transaction id.

typestringobligatoire

Fulfillment direction of an order-linked transaction.

Valeurs possiblesinout

transaction_timestringdate-timeobligatoire

Effective transaction time.

to_locationEntityobligatoire

Reference to a related entity (location, partner, or user) embedded in a transaction. The snapshot is captured at transaction time and does not update if the source entity is later renamed or removed.

Afficher les propriétés
idintegerminimum 0, maximum 2147483647obligatoire

Id of the referenced entity.

namestringobligatoire

Display name of the entity at the time the transaction was recorded.

deletedbooleanobligatoire

true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.

count_of_itemsintegerminimum 0, maximum 9007199254740991obligatoire
total_quantitynumberobligatoire

Quantity. May include up to four decimal places in core data.

400Invalid path parameter, or the team is not in LOCATION mode.
idstringobligatoire

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringobligatoire

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Valeurs possibles/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringobligatoire

Human-readable summary of the error, in English.

correlationIDstringobligatoire

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. A client-supplied X-Correlation-Id request header (at most 128 chars of A-Z a-z 0-9 . _ : / = -) is echoed back here and in the response header; a missing or invalid value is silently replaced with a generated rq_… id.

instancestring

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix. Absent on unknown-path 404 and unexpected 500 responses.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on request-validation /errors/invalid-request (400) responses. Absent on malformed-JSON 400, 413 body-too-large, and most errors mapped from BoxHero core (which include it only when core supplies an array; this can include 403). Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Afficher les propriétés
patharray of string | numberobligatoire
messagestringobligatoire
401Missing, invalid, or revoked API token. /errors/tokens/required when no Bearer token is sent; /errors/tokens/invalid when the token is unknown or revoked (a revoked token may keep working for up to 60 seconds because validation results are cached).
idstringobligatoire

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringobligatoire

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Valeurs possibles/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringobligatoire

Human-readable summary of the error, in English.

correlationIDstringobligatoire

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. A client-supplied X-Correlation-Id request header (at most 128 chars of A-Z a-z 0-9 . _ : / = -) is echoed back here and in the response header; a missing or invalid value is silently replaced with a generated rq_… id.

instancestring

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix. Absent on unknown-path 404 and unexpected 500 responses.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on request-validation /errors/invalid-request (400) responses. Absent on malformed-JSON 400, 413 body-too-large, and most errors mapped from BoxHero core (which include it only when core supplies an array; this can include 403). Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Afficher les propriétés
patharray of string | numberobligatoire
messagestringobligatoire
404No return with the given number was found in this team.
idstringobligatoire

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringobligatoire

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Valeurs possibles/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringobligatoire

Human-readable summary of the error, in English.

correlationIDstringobligatoire

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. A client-supplied X-Correlation-Id request header (at most 128 chars of A-Z a-z 0-9 . _ : / = -) is echoed back here and in the response header; a missing or invalid value is silently replaced with a generated rq_… id.

instancestring

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix. Absent on unknown-path 404 and unexpected 500 responses.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on request-validation /errors/invalid-request (400) responses. Absent on malformed-JSON 400, 413 body-too-large, and most errors mapped from BoxHero core (which include it only when core supplies an array; this can include 403). Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Afficher les propriétés
patharray of string | numberobligatoire
messagestringobligatoire
429Rate limit exceeded. Limits are per team and shared by all of the team's API tokens: 5 requests per second and 300 requests per minute. The RateLimit and X-RateLimit-* headers reflect the per-minute window; check them and Retry-After before retrying. This status is also returned when the client IP exceeds 30 failed authentication attempts within 60 seconds, even if the token is valid.
idstringobligatoire

Unique exception id (ex_ followed by 32 lowercase hex chars, no dashes — e.g. ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a). Quote this in support tickets so we can find the request in our logs.

typestringobligatoire

Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.

Valeurs possibles/errors/not-found/errors/invalid-request/errors/invalid-team-mode/errors/tokens/invalid/errors/tokens/required/errors/too-many-requests/errors/core/usage-limit-exceeded/errors/core/forbidden/errors/core/unhandled/errors/unhandled

titlestringobligatoire

Human-readable summary of the error, in English.

correlationIDstringobligatoire

Request correlation id (rq_ followed by 32 lowercase hex chars, no dashes — e.g. rq_01abf3...). Identical to the X-Correlation-Id response header. A client-supplied X-Correlation-Id request header (at most 128 chars of A-Z a-z 0-9 . _ : / = -) is echoed back here and in the response header; a missing or invalid value is silently replaced with a generated rq_… id.

instancestring

Pointer to the specific failing resource (e.g. /items/12345). Path-only, no /v1 version prefix. Absent on unknown-path 404 and unexpected 500 responses.

codestring

Sub-reason code surfaced from upstream BoxHero core (on core-mapped 4xx) or from the gateway itself (e.g. not-available-for-api-token on 403). Use this for fine-grained branching after dispatching on type.

errorsarray of object

Field-level error details. Present on request-validation /errors/invalid-request (400) responses. Absent on malformed-JSON 400, 413 body-too-large, and most errors mapped from BoxHero core (which include it only when core supplies an array; this can include 403). Each entry locates a single failure via JSONPath-like path segments and a human-readable message.

Afficher les propriétés
patharray of string | numberobligatoire
messagestringobligatoire

Requête

Terminal window
curl --request GET \
--url 'https://rest.boxhero-app.com/v1/returns/by-number/{return_number}' \
--header "Authorization: Bearer $BOXHERO_API_TOKEN"

Réponse

{
"item": {
"id": 90301,
"return_number": "R-1001",
"return_time": "2026-01-15T09:30:00.000Z",
"status": "done",
"partner": {
"id": 431488,
"name": "Northwind Retail",
"deleted": false
},
"order": {
"id": 90201,
"order_number": "SO-2001"
},
"total_price": "99.95",
"currency_code": "USD",
"memo": "",
"revision": 3,
"created_by": {
"id": 1001,
"name": "John Smith",
"deleted": false
},
"created_at": "2026-01-15T09:30:00.000Z",
"url": "https://app.boxhero-app.com/returns/90301",
"tags": [],
"items": [
{
"id": 700301,
"rank": 0,
"order_item_id": 700201,
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"bundle": null,
"price": "99.95",
"quantity": 5,
"tax_name": null,
"tax_rate": null,
"tax_inclusive": null,
"discount_name": null,
"discount_type": null,
"discount_value": null,
"subtotal": "99.95",
"discount_amount": "0",
"tax_amount": "0",
"total": "99.95"
}
],
"tx_items": [
{
"item": {
"id": 14290445,
"name": "Finish Setting Powder",
"sku": "SKU-12345678",
"barcode": "2097678335587",
"deleted": false
},
"ordered_quantity": 5,
"fulfilled_quantity": 5,
"pending_quantity": 0
}
],
"transactions": [
{
"id": 14012345,
"type": "in",
"transaction_time": "2026-01-16T11:00:00.000Z",
"to_location": {
"id": 47041,
"name": "Warehouse",
"deleted": false
},
"count_of_items": 1,
"total_quantity": 5
}
]
}
}