commerce-bots

API reference

A read-only JSON API over the directory. No authentication. All responses are JSON, immutable per deploy, and cached at the edge with a long s-maxage and an ETag keyed on the data version — send If-None-Match to get a 304.

Base & conventions

  • Base URL: https://commerce-bots.com
  • Versioning: path-versioned under /api/v1.
  • Collections return a { total, data, _meta } envelope; single items return the object directly.
  • Errors are JSON with a stable error code and an HTTP status.

Endpoints

GET/api/v1/serversList integrations. Supports the query parameters below.
GET/api/v1/servers/{id}A single integration entry, or 404 with an error body.
GET/api/v1/compatible?with={id}Compatibility records referencing an integration, joined with the other one.

Query parameters — GET /api/v1/servers

ParamTypeDescription
platformstringFilter by platform id (e.g. shopify, auctane, stripe).
categoryenumstorefront | payments | shipping | search | crm | …
authenumAuth model: none | apikey | oauth2 | both.
typeenumVendor type: official | community | fork.
qstringFree-text match over name, id, summary, and tags.
sortstringname (default) | updated.
limitintPage size (default all).
offsetintItems to skip (pagination).

Filters combine with AND. Unknown parameters are ignored.

Collection envelope

200 OK
// GET /api/v1/servers
{
  "total": 8,
  "data": [ /* ServerEntry[] — see /directory/{id} for the full shape */ ],
  "_meta": {
    "generatedAt": "2026-06-22T00:00:00.000Z",
    "dataVersion": "bd3dee45200f",
    "repoUrl": "https://github.com/Commerce-bots-com/commerce-bots-public"
  }
}

Error shape

404 Not Found
// GET /api/v1/servers/does-not-exist  →  404
{ "error": "server-not-found", "id": "does-not-exist" }