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.
https://rest.boxhero-app.com/v1/returns/by-number/{return_number}Autorisierung
Abschnitt betitelt „Autorisierung“Bearer-Authentifizierungsheader im Format Bearer <token>, wobei <token> Ihr API-Token ist.
Pfadparameter
Abschnitt betitelt „Pfadparameter“Return number. Whitespace is ignored and letters are uppercased. Use only letters, numbers, hyphens, and underscores.
Antworten
Abschnitt betitelt „Antworten“200The requested sales return.
A sales return with lines, per-item receiving progress, and linked transactions.
Eigenschaften anzeigen
Return id.
Return number.
Return date/time.
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.
Mögliche Werteconfirmedin-progressdone
Customer for the sales return.
Eigenschaften anzeigen
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Reference to the source sales order for a return.
Eigenschaften anzeigen
Order id.
Order number.
Return total as a decimal string.
Source sales order ISO currency code, or null when unset.
Free-text memo. Empty string when not set.
Optimistic-concurrency version.
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.
Eigenschaften anzeigen
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Server-side creation timestamp.
Web URL to view this return in the BoxHero app.
Read-only tags parsed from the memo.
Detailed return lines.
Eigenschaften anzeigen
Return line id.
Line rank in the return.
Source order line id.
Set when the line references a single item.
Eigenschaften anzeigen
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
Set when the line references a bundle.
Eigenschaften anzeigen
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
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.
Quantity. May include up to four decimal places in core data.
Always null on return lines.
Always null on return lines.
Always null on return lines.
Always null on return lines.
Always null on return lines.
Mögliche Wertepercentamount
Always null on return lines.
Same as price: the returned line amount.
Always "0"; any source discount is already reflected in price.
Always "0"; any source tax is already reflected in price.
Same as price: the returned line amount.
Per-item receiving progress. Bundle return lines are exploded and duplicate items are collapsed.
Eigenschaften anzeigen
Reference to an item or bundle embedded in order, return, transaction, and bundle component responses.
Eigenschaften anzeigen
Item or bundle id.
Display name.
SKU. Empty string when unset.
Barcode. Empty string when unset.
Whether the underlying item or bundle is deleted.
Ordered or returned quantity for this item. Bundle lines are exploded into component quantities and duplicate items are collapsed.
Absolute quantity already fulfilled or received for this item.
Remaining quantity for this item, clamped to zero when over-fulfilled.
Inventory transactions linked to this return.
Eigenschaften anzeigen
Location transaction id.
Fulfillment direction of an order-linked transaction.
Mögliche Werteinout
Effective transaction time.
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.
Eigenschaften anzeigen
Id of the referenced entity.
Display name of the entity at the time the transaction was recorded.
true when the underlying entity has since been deleted. The embedded snapshot is preserved so historical transactions remain readable.
Quantity. May include up to four decimal places in core data.
400Invalid path parameter, or the team is not in LOCATION mode.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Mögliche Werte/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
Human-readable summary of the error, in English.
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.
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.
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.
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.
Eigenschaften anzeigen
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).
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Mögliche Werte/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
Human-readable summary of the error, in English.
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.
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.
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.
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.
Eigenschaften anzeigen
404No return with the given number was found in this team.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Mögliche Werte/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
Human-readable summary of the error, in English.
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.
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.
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.
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.
Eigenschaften anzeigen
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.
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.
Stable, machine-readable error code (RFC 7807-style URI fragment). Branch your error handling on this, not on title.
Mögliche Werte/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
Human-readable summary of the error, in English.
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.
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.
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.
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.
Eigenschaften anzeigen
Anfrage
curl --request GET \ --url 'https://rest.boxhero-app.com/v1/returns/by-number/{return_number}' \ --header "Authorization: Bearer $BOXHERO_API_TOKEN"const response = await fetch("https://rest.boxhero-app.com/v1/returns/by-number/{return_number}", { method: "GET", headers: { Authorization: `Bearer ${process.env.BOXHERO_API_TOKEN}`, },});const data = await response.json();import osimport requests
response = requests.get( "https://rest.boxhero-app.com/v1/returns/by-number/{return_number}", headers={ "Authorization": "Bearer " + os.environ["BOXHERO_API_TOKEN"], },)data = response.json()GET /v1/returns/by-number/{return_number} HTTP/1.1Host: rest.boxhero-app.comAuthorization: Bearer <token>Antwort
{ "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 } ] }}{ "id": "ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a", "correlationID": "rq_01abf3c2b8e44a59be2a9c0f1e7d6a40", "type": "/errors/invalid-request", "title": "Invalid path parameter, or the team is not in LOCATION mode.", "instance": "/returns/by-number/R-1001"}{ "id": "ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a", "correlationID": "rq_01abf3c2b8e44a59be2a9c0f1e7d6a40", "type": "/errors/tokens/required", "title": "Missing API token. Provide a Bearer token in the Authorization header.", "instance": "/returns/by-number/R-1001", "example": "Bearer wqnot0dlysdg5vymubzi4kiv"}{ "id": "ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a", "correlationID": "rq_01abf3c2b8e44a59be2a9c0f1e7d6a40", "type": "/errors/not-found", "title": "No return with the given number was found in this team.", "instance": "/returns/by-number/R-1001"}{ "id": "ex_8f5c0c8e0e0a4a3c9b3f4f2c4f6c8d2a", "correlationID": "rq_01abf3c2b8e44a59be2a9c0f1e7d6a40", "type": "/errors/too-many-requests", "title": "Too many requests.", "instance": "/returns/by-number/R-1001", "retryAfter": 60}