Skip to main content

Return Helper API

Return Helper provides a suite of APIs for managing e-commerce product returns end-to-end — from return request creation through shipment tracking, label generation, and warehouse processing.
The API is designed for server-to-server integration only. Do not call these endpoints directly from client-side code.

Announcements

Rate limit: 1 request per second

From 1 November 2026The API will accept at most one request per second. Check your call rate before peak season.

Seller reference number on Create resend order

Action required if you set resendNumberResend search opens to every account. resendNumber becomes read-only.

New webhook event: Transaction added

From 5 October 2026Every charge, refund and top-up is sent to your webhook endpoint.

API rate limit: 1 request per second

From 1 November 2026, Return Helper enforces a rate limit of 1 request per second on the API, to enhance service stability for every integration through peak season.
  • Pace your calls so you send no more than one request per second.
  • Use webhooks to receive shipment, inventory and resend updates instead of polling list endpoints.

Seller reference number on Create resend order

Create resend order (User API) will accept an optional sellerReferenceNumber, as Create resend by SKU already does. Every account — not only Enterprise — will then be able to find resends with Search resend by seller reference number. sellerReferenceNumber is optional, so existing integrations keep working. One change is breaking: resendNumber becomes a read-only value generated by Return Helper.
Action required if your integration sets resendNumber on Create resend order — for example to your invoice or order ID. Move that value to sellerReferenceNumber before Milestone 2. If you never set resendNumber, no action is needed.
To migrate, between Milestone 1 and Milestone 2:
  1. Send your own reference in sellerReferenceNumber instead of resendNumber.
  2. If you match resend status update webhooks or your own records on resendNumber, match on sellerReferenceNumber instead.
Unlike resendNumber, sellerReferenceNumber is not unique — Return Helper does not reject a repeated value. To avoid duplicate resends when retrying, send an x-returnhelper-idempotency-key header. We will publish the Milestone 1 date here and in the Changelog.

New webhook event: Transaction added

From 5 October 2026, Return Helper sends a Transaction added event to every registered webhook endpoint each time a transaction is posted to your account. You don’t need to register anything new. Transactions posted before 5 October 2026 are not sent.
Action required if your endpoint returns a non-2xx status for events it doesn’t recognise. Failed deliveries are retried, and after 10 consecutive failures, delivery to your endpoint is suspended for 24 hours, including all other events. Return 2xx for events you don’t handle.

Changelog

Announcement
Transaction added webhook
New
Cancel return label
Announcement
Rate limit and create resend upgrade
New
Self-service webhook endpoints

Available APIs

User API — Authenticated endpoints for merchants and partners to manage return requests, shipments, labels, inventory, and account settings. Public API — Reference data endpoints exposing lookup values such as service types, warehouse lists, status codes, and supported countries.

Authentication

All API requests require an API key and token passed as request headers:
Getting your credentials:
  1. Log in to the Return Helper User Portal.
  2. Go to Settings → Signing Key and API Token.
  3. Your existing key-token pairs are listed here. You can also generate a new pair.
Signing Key, API Token and API Key in the User Portal

Signing Key, API Token and API Key in the User Portal

The same screen also shows your signing key (highlighted in the image above). This is a separate, Base64-encoded secret — it is not used to authenticate API requests. Instead, it verifies that incoming webhook notifications genuinely came from Return Helper. You can also read it programmatically with Get signing key. For how to use it, see Webhooks → Signature Verification.
Your API token and signing key are private. Never share them or expose them in client-side code.

Base URLs

Sandbox

Production

Idempotency

The endpoints below accept an x-returnhelper-idempotency-key header, so that a retried request is processed only once.
Generate a fresh UUID (or similarly unique string) for each distinct request, and send the same key only when retrying that request. The header is optional. A request without it is processed normally, with no protection against duplicates. A request that reuses the key of a completed request is rejected instead of being processed again — see Idempotency key failures. Other endpoints ignore the header.

User-Agent Header

Include a User-Agent header so Return Helper support can identify your integration when investigating issues:
Example:
A full request header looks like:

OpenAPI Specification

The full API specification is available as an OpenAPI 3.1 document. You can download it and import it directly into API clients such as Postman or Insomnia, or use it to generate client SDKs with tools like OpenAPI Generator.

Download OpenAPI Specification

openapi.json — OpenAPI 3.1

Error Handling

Every response — success or failure — is wrapped in a common envelope:
For successful calls the business payload is included as additional top-level fields alongside correlationId and meta (for example, getAllCountries returns { correlationId, meta, countries: [...] }). Always check meta.errorCode before reading the payload — the API uses a soft-error convention where validation failures arrive as HTTP 200 with meta.status: 400 and a populated meta.errorCode.

Failure modes

Sample — validation failure

Do not branch on the wire HTTP status alone. A 200 OK response can still represent a logical failure — always inspect meta.status and meta.errorCode.
When integrating, log the correlationId from every response. Return Helper support uses it to trace requests when investigating issues. For the full list of meta.errorCode values the API can emit — including business-rule errors like TRACKING_ALREADY_EXIST, ACCOUNT_IS_BLOCKED, and others not covered by the table above — see the Error codes reference.

General Remarks

  • All dateTime parameters must be in ISO 8601 format, otherwise the API cannot parse them.
  • Date string parameters (e.g. createToStr, createFromStr) must also be ISO 8601; the time portion is ignored.
  • All timestamps returned by the API are in UTC.

Webhooks

Label results and warehouse events (shipment arrival, inventory creation, image uploads, etc.) are delivered asynchronously via webhook notifications. You must register a notification endpoint to receive these events. See the Webhooks section for the full list of notification event types and their payloads.

Contact Technical Support

For technical questions or integration issues, email support@returnhelper.com. Include the following so we can investigate:
  • The correlationId from the response
  • The environment (sandbox or production) and the endpoint you called
  • The time of the request, including the time zone
  • The request body and the response you received
Do not include your API token or signing key.