Skip to main content

Catalog

Endpoints for listing and resolving brands from the catalog.

GET /v1/catalog

Paginated list of services.

AspectDetail
HeaderX-API-Key: YOUR_API_KEY
Querylimit - integer 1–200, default 50
Queryoffset - integer ≥ 0, default 0

Response: ServiceListResponse

  • items - array of services
  • total - total rows matching the catalog
  • limit, offset - echo of pagination params

Each item is a ServiceResponse with (among others):

FieldTypeNotes
idintegerStable id
slugstringURL-safe identifier
namestringDisplay name
brandColorstring | nullPrimary brand hex
darkModeColorstring | nullSuggested dark-theme hex
svgVariantsarray | nullVariant metadata (variant, verified)
colorsarray | nullColor roles (role, hex, source)
_cssobject | nullCSS variables map (see below)
_noticestringStatic legal / usage notice
curl "https://api.scrift.app/v1/catalog?limit=2&offset=0" \
-H "X-API-Key: YOUR_API_KEY"
{
"items": [
{
"id": 1,
"slug": "stripe",
"name": "Stripe",
"brandColor": "#635BFF",
"darkModeColor": "#A29BFE",
"svgVariants": [{ "variant": "mono", "verified": true }],
"colors": [],
"_css": {
"--brand-color": "#635BFF",
"--brand-color-dark": "#A29BFE",
"--brand-color-contrast": "#FFFFFF"
},
"_notice": "…"
}
],
"total": 4000,
"limit": 2,
"offset": 0
}

GET /v1/catalog/{slug}

Single service by slug.

AspectDetail
HeaderX-API-Key
Pathslug - catalog slug

Response: ServiceResponse (same fields as a list item).

Error: 404 with service_not_found if the slug does not exist.

curl https://api.scrift.app/v1/catalog/stripe \
-H "X-API-Key: YOUR_API_KEY"

POST /v1/catalog/batch

Resolve up to 50 slugs in one request.

AspectDetail
HeadersX-API-Key, Content-Type: application/json
Body{ "slugs": ["stripe", "github", "vercel"] }

Response:

  • results - object mapping each requested slug to a ServiceResponse or null if missing
  • found - count of slugs that resolved
  • notFound - array of slugs with no match
curl -X POST https://api.scrift.app/v1/catalog/batch \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"slugs":["stripe","github","vercel"]}'
{
"results": {
"stripe": { "slug": "stripe", "name": "Stripe", "…": "…" },
"github": { "slug": "github", "name": "GitHub", "…": "…" },
"vercel": null
},
"found": 2,
"notFound": ["vercel"]
}

The _css object

_css is a small map of ready-to-use CSS custom properties, aligned with the returned colors, for example:

  • --brand-color
  • --brand-color-dark
  • --brand-color-contrast

Use them for inline styles or inject into a root container so your components can reference var(--brand-color) consistently.

For the full operation list and schemas, see the interactive API reference.