Skip to main content

API Documentation

Complete reference for the RackList product sync API

Authentication

All API requests require an Authorization header with your API key as a Bearer token. API keys start with the rk_ prefix.

Authorization: Bearer YOUR_API_KEY

Key format: rk_ followed by 64 hex characters (67 characters total)

Endpoint

POST /api/v1/sync/products

Syncs products from your billing system to your RackList listing. Sends an array of products that will be created, updated or deactivated.

Required Headers

Header Value Required
AuthorizationBearer rk_...Yes
Content-Typeapplication/jsonYes

Rate Limits

1 request per 5 minutes per host (sliding window)

Payload Schema

The JSON payload must contain a products array with the following fields for each product:

Field Type Required Description
namestringYesProduct name
external_idstringYesUnique identifier in your billing system
categorystringYesProduct category (e.g. vps_cloud, game_minecraft)
pricefloatNoMonthly price
currencystringNoCurrency (ISO 4217, e.g. EUR, USD)
descriptionstringNoProduct description
specsobjectNoTechnical specifications (key-value)
pricing_tiersarrayNoPricing tiers (period + price)
setup_feefloatNoSetup fee
contract_durationstringNoContract duration
featuresarrayNoList of included features
datacenter_locationsarrayNoDatacenter locations

Payload Example

{
  "products": [
    {
      "name": "VPS Cloud S",
      "external_id": "prod_123",
      "category": "vps_cloud",
      "price": 4.99,
      "currency": "EUR",
      "description": "1 vCPU, 2GB RAM, 20GB SSD",
      "specs": {
        "cpu": "1 vCPU",
        "ram": "2 GB",
        "storage": "20 GB SSD"
      },
      "pricing_tiers": [
        {"period": "monthly", "price": 4.99},
        {"period": "yearly", "price": 49.90}
      ],
      "features": ["DDoS Protection", "IPv6"],
      "datacenter_locations": ["Paris", "Frankfurt"]
    }
  ]
}

Error Codes

Code Description Error Code
401 Invalid or missing API key UNAUTHORIZED
403 API key revoked or inactive KEY_REVOKED
422 Invalid payload - validation errors VALIDATION_FAILED
429 Too many requests - rate limit exceeded RATE_LIMITED
500 Internal server error INTERNAL_ERROR

Test Your API Key

Use this cURL command to test your integration:

curl -X POST https://racklist.eu/api/v1/sync/products \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"products": [{"name": "Test Product", "external_id": "test_1", "category": "vps_cloud"}]}'

Replace YOUR_API_KEY with your API key to test.