Skip to main content
The Vizdom REST API gives you full programmatic control over your workspace. You can automate dashboard creation, manage data sources, invite users, and trigger exports — all from your own applications and scripts.

Base URL

All API requests are made to:
https://api.vizdom.ai/v1

Request format

The API accepts JSON request bodies. Set the Content-Type header on all requests that include a body:
Content-Type: application/json

Response format

All responses return JSON with a standard envelope:
{
  "data": { ... },
  "meta": {
    "total": 42
  }
}
  • data — the requested resource or array of resources
  • meta.total — total number of records (present on list endpoints)

Rate limits

Each API key is limited to 1,000 requests per minute. When you exceed this limit, the API returns a 429 Too Many Requests response. Implement exponential backoff and retry logic in your integration.

Error format

Errors return a JSON object with an error field:
{
  "error": {
    "code": "not_found",
    "message": "Dashboard with ID 'dash_abc123' does not exist."
  }
}

HTTP status codes

CodeMeaning
200OK — request succeeded
201Created — resource created successfully
204No Content — request succeeded, no body returned
400Bad Request — malformed request or missing required fields
401Unauthorized — missing or invalid API key
403Forbidden — valid key but insufficient permissions
404Not Found — resource does not exist
422Unprocessable Entity — validation failed
429Too Many Requests — rate limit exceeded
500Internal Server Error — something went wrong on our end

Example request and response

Request:
curl -X GET "https://api.vizdom.ai/v1/dashboards" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"
Response:
{
  "data": [
    {
      "id": "dash_abc123",
      "name": "Q4 Revenue Overview",
      "description": "Executive summary of Q4 revenue metrics",
      "created_at": "2026-01-15T09:00:00Z",
      "updated_at": "2026-03-22T14:30:00Z",
      "visualization_count": 8
    }
  ],
  "meta": {
    "total": 1
  }
}

Next steps

To start making requests, you need an API key. See Authentication for how to generate one and pass it in your requests.