List the signed-in customer's returns
Newest first, only the returns of orders placed through this channel. Default page size 20, at most 50.
For /api/vc/{connectionId}/* routes the connectionId (vc_*) is in the URL path — not a header. Live-mode requests must also send a matching Origin header.
In: header
Path Parameters
Sales channel ID (vc_*), the canonical salesChannelId. connectionId is the deprecated name of the same value and is still the literal path segment.
Query Parameters
1-based page number, at most 10000 (a larger value is capped). A value that is not a positive whole number falls back to 1.
11 <= value <= 10000Items per page. A value above 50 is capped at 50. A value that is not a positive whole number falls back to 20.
201 <= value <= 50Header Parameters
Origin of the storefront page making the call, for example https://shop.example.com. Required: a request with no Origin header is refused with 403. On a LIVE channel its host must equal the channel's registered domain (or one of its subdomains) or match an allowed origin. A TEST channel with no domain accepts any origin; once a domain is set it is matched as on LIVE.
Customer token as Bearer <token>, returned by customers/login, customers/register or the OAuth callback. Expires after 7 days. It is a customer token, never an API key.
Version of the calling SDK (the Brainerce SDK sends it automatically). Informational: it is recorded on the channel and never changes the response.
curl -X GET "https://api.brainerce.com/api/vc/string/customers/me/returns?page=1&limit=20" \ -H "origin: string" \ -H "authorization: string" \ -H "X-SDK-Version: string"{
"data": [
{
"id": "string",
"number": "R-1001",
"orderId": "string",
"orderNumber": "string",
"status": "REQUESTED",
"resolution": "REFUND",
"reasonCode": "string",
"customerNote": "string",
"declineMessage": "string",
"requestedAt": "2019-08-24T14:15:22Z",
"approvedAt": "2019-08-24T14:15:22Z",
"receivedAt": "2019-08-24T14:15:22Z",
"completedAt": "2019-08-24T14:15:22Z",
"cancelledAt": "2019-08-24T14:15:22Z",
"items": [
{
"id": "string",
"lineId": "string",
"name": "string",
"sku": "string",
"quantity": 0,
"receivedQuantity": 0,
"reasonCode": "string"
}
]
}
],
"meta": {
"page": 0,
"limit": 0,
"total": 0,
"totalPages": 0
}
}{
"statusCode": 401,
"code": "UNAUTHORIZED",
"message": "Invalid or expired credential",
"timestamp": "2026-08-23T10:15:00.000Z",
"path": "/api/vc/{connectionId}/customers/me/returns"
}{
"statusCode": 403,
"code": "INSUFFICIENT_SCOPE",
"message": "API key does not have the required scope: products:write",
"timestamp": "2026-08-23T10:15:00.000Z",
"path": "/api/vc/{connectionId}/customers/me/returns"
}{
"statusCode": 404,
"code": "RESOURCE_NOT_FOUND",
"message": "Resource not found",
"timestamp": "2026-08-23T10:15:00.000Z",
"path": "/api/vc/{connectionId}/customers/me/returns"
}{
"statusCode": 429,
"code": "RATE_LIMITED",
"message": "Too many requests",
"details": {
"retryAfterSeconds": 12
},
"timestamp": "2026-08-23T10:15:00.000Z",
"path": "/api/vc/{connectionId}/customers/me/returns"
}Get what can be returned from an order
Per line, how many units can still be returned and why a line cannot, the end of the return window and the store's reasons to choose from.
Ask to return items of an order
Checked against the return rules on the server: the order must have shipped, be inside the return window, and the quantities and lines must still be ret...