API ReferenceEndpointsCustomersList the signed-in customer's returns

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.

GET
/vc/{connectionId}/customers/me/returns
X-Sales-Channel-Origin<token>

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

connectionIdstring

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

page?integer

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.

Default1
Range1 <= value <= 10000
limit?integer

Items per page. A value above 50 is capped at 50. A value that is not a positive whole number falls back to 20.

Default20
Range1 <= value <= 50

Header Parameters

originstring

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.

authorizationstring

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.

X-SDK-Version?string

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"
}