Skip to main content

Supplier API

Suppliers push procurement prices, stock and lead times for SourceParts EU catalogue SKUs over a small REST API. Access is granted by hand — request a key below.

REST · v1 Auth: Bearer key Format: JSON Rate limit: 120/min openapi.json ↗

How it works

  1. Request access with the form below — tell us what you supply.
  2. We review and issue you an API key (spk_live_…) by e-mail.
  3. Your system pushes offers to the API whenever prices or stock change.
  4. We buy from the best offer per SKU. Keys are personal, revocable, and can expire.

Base URL & authentication

All endpoints live under this base URL:

https://shop.sourceparts.eu/api/supplier/v1

Send your key as a bearer token on every request:

Authorization: Bearer spk_live_your_key_here
Note. Responses are JSON. Success payloads sit under data; errors under error with a code and message. The API is rate-limited to 120 requests per minute per key.

Endpoints

MethodPathPurpose
GET/pingVerify your key
GET/productsCatalogue SKUs you can quote
GET/offersRead back your offers
POST/offersBulk create/update (upsert)
PUT/offers/{sku}Create/update one offer
DEL/offers/{sku}Withdraw an offer

GET /ping

Verify your key and see how we identify you.

curl -s https://shop.sourceparts.eu/api/supplier/v1/ping \
  -H "Authorization: Bearer spk_live_…"

GET /products

The catalogue SKUs you can quote against, with names. Map these to your own order codes.

curl -s https://shop.sourceparts.eu/api/supplier/v1/products \
  -H "Authorization: Bearer spk_live_…"

POST /offers

Bulk create/update. Idempotent — we upsert one offer per SKU, so you can send your full feed any time. Up to 1000 offers per call.

curl -s -X POST https://shop.sourceparts.eu/api/supplier/v1/offers \
  -H "Authorization: Bearer spk_live_…" \
  -H "Content-Type: application/json" \
  -d '{
    "offers": [
      {
        "sku": "SP-B866-4E4P1",
        "supplier_sku": "HW-B866-4E4P1",
        "procure_price": 142.50,
        "currency": "EUR",
        "stock": 240,
        "lead_time_days": 3,
        "moq": 1,
        "valid_until": "2026-12-31"
      }
    ]
  }'

GET /offers

Read back the offers we currently hold from you.

curl -s https://shop.sourceparts.eu/api/supplier/v1/offers \
  -H "Authorization: Bearer spk_live_…"

PUT /offers/{sku}

Create or update a single offer.

curl -s -X PUT https://shop.sourceparts.eu/api/supplier/v1/offers/SP-B866-4E4P1 \
  -H "Authorization: Bearer spk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "procure_price": 139.00, "stock": 180, "lead_time_days": 2 }'

DELETE /offers/{sku}

Withdraw an offer (e.g. end-of-life).

curl -s -X DELETE https://shop.sourceparts.eu/api/supplier/v1/offers/SP-B866-4E4P1 \
  -H "Authorization: Bearer spk_live_…"

The offer object

FieldTypeRequiredDescription
skustringyesOur catalogue SKU (see /products)
procure_pricenumberyesUnit purchase price, excl. VAT
supplier_skustringnoYour own order code
currencystring(3)noDefaults to EUR
stockintegernoUnits available
lead_time_daysintegernoDays to deliver
moqintegernoMinimum order quantity
valid_untildatenoPrice validity (YYYY-MM-DD)
metaobjectnoAny extra fields; stored as-is

Errors

Errors always return JSON with an error object — never an HTML page.

{ "error": { "code": "unauthorized", "message": "Invalid, expired or revoked API key." } }
StatusMeaning
401Missing / invalid / revoked / expired key
422Validation error (see errors per field)
404No such offer
429Rate limit exceeded

Request access

Tell us who you are and what you supply. We review every request by hand.

We review requests within two working days. On approval you receive an API key by e-mail.

Livraison en 2 jours ouvrés Matériel Huawei eKit officiel Autoliquidation TVA B2B UE (VIES) Fiches techniques disponibles