How to build against the Krafto REST API as a real, admin-reviewed integration β not just a personal script.
Before you can create anything, submit a short application from the Developer Dashboard β what you're building, and why. An admin reviews it before you can go further.
Once approved, create one or more apps β each with a name, a stated purpose, and a requested set of scopes from the shared vocabulary (catalog:read, library:read, library:download, account:read, wallet:spend). An admin reviews the request and grants the scopes the app actually gets β which can be narrower than what was requested.
Once an app is approved, generate an API key under it from the same dashboard. The key is scoped to exactly what the app was granted β you can't widen it at key-creation time.
Send the key in the X-Api-Key header on every request:
curl https://api.trykrafto.xyz/api/v1/assets/{id}/manifest \
-H "X-Api-Key: kf_live_..."| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/categories | none | List every active category. |
| GET | /api/v1/assets | none | List/browse published assets, with category/page params. |
| GET | /api/v1/assets/{id} | none | Get details for one published asset. |
| GET | /api/v1/assets/search | none | Full-text search with ranking and filters. |
| GET | /api/v1/assets/{id}/manifest | catalog:read | Read an asset's AI-facing manifest. |
Every key has its own rate-limit bucket, independent of your own interactive browsing β 60 requests/minute by default. A 429 response includes a Retry-After header.
If your integration is an AI client (Claude, Cursor, or similar) rather than a server calling the REST API directly, see the MCP tool reference instead β the same app/scope review applies, just via MCP tokens rather than API keys.