repurch/ docs
Dashboard ↗repurch.com ↗

Reference

Repurch API

The Repurch API gives retailers programmatic control over the resale marketplaces that power their pre-loved and overstock channels. Manage listings, draw down settlement, configure brand identity, and subscribe to credit-redemption events — all over HTTPS, JSON, and a single Bearer token.

Quickstart

  1. 1. Provision a key. Sign into app.repurch.com, open Settings → Integrations, and generate an API key. The full secret is shown once — copy it into your secret manager immediately.
  2. 2. Install nothing. No SDK. Every endpoint speaks JSON over HTTPS; any HTTP client works.
  3. 3. Make your first call. List your active inventory:
    curl
    curl https://api.repurch.com/v1/listings \
      -H "Authorization: Bearer re_pk_your_key_here"

Base URL

All endpoints are served under a single, versioned host.

bash
https://api.repurch.com/v1

Versioning

The API is versioned in the URL. Today only v1 exists. Breaking changes ship as v2 alongside v1 for at least six months before deprecation. Additive changes — new endpoints, new optional fields, new enum members — ship inside the current version without notice.

Money

Every monetary value is GBP. Each money field on a response ships in two forms: an integer in pence and a decimal-formatted GBP string. Use the pence value for arithmetic and persistence; use the GBP value for display. Both are always present and always agree.

json
{
  "gross_pence": 22500,
  "gross": 225.00,
  "currency": "GBP"
}

Rate limits

Rate limits are partner-tier-aware and stated in your commercial contract. The default tier allows 60 requests per minute per API key. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers; when the quota is exhausted the API responds with 429 rate_limited and a Retry-After header.

Errors

Errors use conventional HTTP status codes and a small JSON body with a machine-readable code plus a human-readable message.

json
{
  "code": "invalid_token",
  "message": "Token is malformed, expired, or signed with the wrong key."
}

Resources