Skip to content

API Reference.

REST API for programmatic access to design system sync and component generation. Base URL: https://api.deisgnverse.com/v1

API Reference

The DesignVerse REST API lets you integrate design system sync and component generation into your own tooling, CI/CD pipelines, or automation workflows. All requests require Bearer token authentication.

Authentication

Generate an API key from your workspace settings under Settings then API Keys. Pass the key as a Bearer token in the Authorization header on every request.

Authentication header
Authorization: Bearer dvs_live_xxxxxxxxxxxxxxxxxxx

Keys prefixed with dvs_live_ operate on real workspaces. Keys prefixed with dvs_test_ operate on isolated test environments and do not trigger billable generation.

POST /systems

Create a new design system or update token values for an existing one. Pass a system name and a token object. If a system with the given name already exists in your workspace, its tokens are updated in place.

curl
curl -X POST https://api.deisgnverse.com/v1/systems \
  -H "Authorization: Bearer dvs_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "acme-design-system",
    "framework": "react",
    "tokens": {
      "color.brand.500": "#4F46E5",
      "spacing.md": "1rem",
      "radius.base": "6px"
    }
  }'
Response 201
{
  "id": "sys_4e8b1d",
  "name": "acme-design-system",
  "framework": "react",
  "token_count": 3,
  "created_at": "2026-07-14T09:22:00Z"
}

GET /systems/:id/components

List all component definitions associated with a design system. Returns the component name, variant count, and last generation timestamp.

curl
curl https://api.deisgnverse.com/v1/systems/sys_4e8b1d/components \
  -H "Authorization: Bearer dvs_live_xxx"
Response 200
{
  "system_id": "sys_4e8b1d",
  "components": [
    {
      "name": "Button",
      "variant_count": 9,
      "last_generated": "2026-07-14T09:31:00Z"
    },
    {
      "name": "Input",
      "variant_count": 4,
      "last_generated": "2026-07-14T09:31:00Z"
    }
  ]
}

POST /systems/:id/generate

Trigger a generation job for a design system. You can specify a list of component names to generate only those components, or omit components to regenerate everything.

curl
curl -X POST https://api.deisgnverse.com/v1/systems/sys_4e8b1d/generate \
  -H "Authorization: Bearer dvs_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"components": ["Button", "Input"]}'
Response 202
{
  "job_id": "job_9f3a2c",
  "system_id": "sys_4e8b1d",
  "status": "queued",
  "components_queued": 2
}

GET /jobs/:id

Poll the status of a generation job. Jobs transition through queued, running, and completed (or failed). When complete, the response includes a signed download URL valid for 24 hours.

curl
curl https://api.deisgnverse.com/v1/jobs/job_9f3a2c \
  -H "Authorization: Bearer dvs_live_xxx"
Response 200 (completed)
{
  "job_id": "job_9f3a2c",
  "status": "completed",
  "components_generated": 2,
  "duration_ms": 1840,
  "download_url": "https://cdn.deisgnverse.com/jobs/job_9f3a2c/output.zip?token=...",
  "download_expires_at": "2026-07-15T09:31:00Z"
}

Error responses

All errors follow a consistent shape with an error.code string and a human-readable error.message.

Error shape
{
  "error": {
    "code": "system_not_found",
    "message": "No design system with id sys_4e8b1d in this workspace."
  }
}

Common error codes: unauthorized (401), system_not_found (404), job_not_found (404), plan_limit_exceeded (402), invalid_token_format (400).

Rate limits

The Starter plan allows 60 API requests per minute. Pro allows 300. Team allows 1000. Limits are applied per workspace. Exceeded requests return 429 with a Retry-After header indicating when to retry.


Need help integrating the API? Email [email protected] or read the Quickstart to see how the CLI wraps these endpoints for local development.