Reference
API
The REST API, its OpenAPI contract, and the typed client.
Every route is described in an OpenAPI 3.1 document, served at /api/v1/openapi.json with an interactive reference at /api/v1/docs.
Responses
{ "data": { … }, "meta": { … } }
{ "error": { "code": "NOT_FOUND", "message": "Project not found" } }Error codes are UPPER_SNAKE_CASE, and validation errors answer 422 with each field's problem.
Authentication
- Browsers: the session cookie, with
X-Organization-Idnaming the organization. - Servers and scripts: an API key in
X-API-Key, pinned to one organization, with scopes.
The typed client
import { createApiClient, unwrap } from '@makev1/api-client';
const api = createApiClient({ baseUrl: 'https://api.yourbrand.com', organizationId });
const projects = await unwrap(api.GET('/api/v1/projects'));A typo in a path or a field fails the build, not production.