RepairDock API (v1)

A token-authenticated REST API for connecting Zapier, accounting software, or your own scripts to your shop data. Sign in to request access.

API access is included on the Enterprise plan only -- it isn't part of Free, Starter, Pro, or Business. See Plan & Billing or Pricing to request an upgrade.
Authentication

Send your token as a Bearer token in the Authorization header:

curl https://repairdock.online/api.php/me \
  -H "Authorization: Bearer rd_live_xxxxxxxxxxxxxxxxxxxxxxxx"

If your host strips the Authorization header (common on some shared hosting), send the token as X-Api-Key: rd_live_... instead, or add this to your .htaccess:

RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
Base URL
https://repairdock.online/api.php

Every route below can also be called as api.php?resource=customers&id=5 if your setup doesn't support extra path segments.

Rate limits

The limit values come from your shop's plan; each token you create tracks its own usage against those same numbers independently, so multiple tokens don't share one counter.

PlanRequests / minuteRequests / dayTokensPrice
Enterprise 3,000 2,000,000 100 Contact us

Every response includes rate-limit headers: X-RateLimit-Limit-Minute, X-RateLimit-Remaining-Minute, X-RateLimit-Limit-Day, X-RateLimit-Remaining-Day. Going over a limit returns 429 with a Retry-After header.

Endpoints
GET /api.php/me
GET /api.php/customers
GET /api.php/customers/{id}
POST /api.php/customers
PUT /api.php/customers/{id}
GET /api.php/repairs
GET /api.php/repairs/{id}
POST /api.php/repairs
PUT /api.php/repairs/{id}
GET /api.php/inventory
GET /api.php/inventory/{id}
Example: list customers
curl https://repairdock.online/api.php/customers?per_page=10 \
  -H "Authorization: Bearer rd_live_xxxxxxxxxxxxxxxxxxxxxxxx"
{
  "ok": true,
  "data": [
    { "id": 12, "full_name": "Jane Doe", "phone": "555-0100", "email": null, "address": null, "notes": null, "created_at": "2026-07-20 11:55:31" }
  ],
  "meta": { "page": 1, "per_page": 10, "total": 1 }
}
Example: create a repair ticket
curl -X POST https://repairdock.online/api.php/repairs \
  -H "Authorization: Bearer rd_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": 12,
    "device_brand": "Samsung",
    "device_model": "Galaxy A12",
    "issue_description": "Cracked screen",
    "quoted_price": 45
  }'
{ "ok": true, "data": { "id": 88, "ticket_code": "RS-2026-A1B2C3" } }
Example: update a repair's status
curl -X PUT https://repairdock.online/api.php/repairs/88 \
  -H "Authorization: Bearer rd_live_xxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "status": "completed", "final_price": 45 }'
Errors

Every error response looks like:

{ "ok": false, "error": "Human-readable message" }
CodeMeaning
401Missing, invalid, or revoked token
404Resource not found (or belongs to a different shop)
405That HTTP method isn't supported on this route
422Missing/invalid fields in the request body
429Rate limit exceeded -- see Retry-After
503API not enabled on this installation
Security notes