Authentication
All API requests require an API key in the X-AUTHORIZATION header.
- Sign in to your Vizelify Settings page
- Click Generate API Key
- Copy the key (starts with
vzl_) and store it securely - Pass it in the
X-AUTHORIZATIONheader with every request
Example Request
curl -X GET https://vizelify.com/api/v1/auth/me \ -H "X-AUTHORIZATION: vzl_your_api_key_here"
Test Authentication
Verify your API key and fetch your user profile. Used by Zapier to validate the connection.
/api/v1/auth/meResponse (200 OK)
{
"id": "e67e3ad9-ef70-4927-b67a-115f01dddfa4",
"email": "user@example.com",
"name": "Jane Doe"
}List Charts
Retrieve all charts belonging to the authenticated user.
/api/v1/chartsParameters
| Field | Type | Description |
|---|---|---|
chartType | string | Optional filter by chart type (e.g. "bar", "line", "pie") |
Response (200 OK)
[
{
"id": "2a8f7814-c0d2-41c0-a498-be224b78eae6",
"name": "Monthly Revenue",
"chartType": "bar",
"title": "Revenue Growth",
"thumbnailUrl": null,
"embedUrl": "https://vizelify.com/embed/charts/2a8f7814-...",
"createdAt": "2026-05-11T00:00:00.000Z",
"updatedAt": "2026-05-11T00:05:00.000Z"
}
]Create Chart
Generate a new chart from your data. Returns the chart ID and embed URL.
/api/v1/chartsParameters
| Field | Type | Description |
|---|---|---|
name | string | Internal identifier for the chart |
chartType | string | bar, line, area, pie, donut, stacked-bar, stacked-area |
title | string | Display title shown on the chart |
datasets | array | Array of dataset objects with label and dataPoints |
colourMode | string | "preset" or "custom" (default: "preset") |
colours | string[] | Custom hex palette, e.g. ["#FF5733", "#33FF57"] |
showLegend | boolean | Show legend (default: true) |
showDataLabels | boolean | Show data labels (default: false) |
showGridLines | boolean | Show grid lines (default: true) |
Example Request
curl -X POST https://vizelify.com/api/v1/charts \
-H "X-AUTHORIZATION: vzl_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Monthly Revenue",
"chartType": "bar",
"title": "Revenue Q1 2026",
"datasets": [
{
"label": "Revenue",
"dataPoints": [
{ "label": "Jan", "value": 12000 },
{ "label": "Feb", "value": 15000 },
{ "label": "Mar", "value": 18000 }
]
}
]
}'Response (201 Created)
{
"id": "2a8f7814-c0d2-41c0-a498-be224b78eae6",
"name": "Monthly Revenue",
"chartType": "bar",
"title": "Revenue Q1 2026",
"embedUrl": "https://vizelify.com/embed/charts/2a8f7814-...",
"createdAt": "2026-05-11T00:00:00.000Z"
}Get Chart
Fetch full details and data payload of a single chart.
/api/v1/charts/:idResponse (200 OK)
{
"id": "2a8f7814-...",
"name": "Monthly Revenue",
"chartType": "bar",
"title": "Revenue Q1 2026",
"xAxisLabel": "Month",
"yAxisLabel": "Revenue ($)",
"showLegend": true,
"showDataLabels": false,
"showGridLines": true,
"colourMode": "preset",
"colours": [],
"datasets": [ ... ],
"thumbnailUrl": null,
"embedUrl": "https://vizelify.com/embed/charts/2a8f7814-...",
"createdAt": "2026-05-11T00:00:00.000Z",
"updatedAt": "2026-05-11T00:05:00.000Z"
}Update Chart
Partially update an existing chart. Only include fields you want to change.
/api/v1/charts/:idParameters
| Field | Type | Description |
|---|---|---|
name | string | Update chart name |
chartType | string | Change chart type |
title | string | Update display title |
datasets | array | Replace datasets with new data |
colours | string[] | Update color palette |
showLegend | boolean | Toggle legend visibility |
showDataLabels | boolean | Toggle data labels |
showGridLines | boolean | Toggle grid lines |
Response (200 OK)
{
"id": "2a8f7814-...",
"name": "Monthly Revenue",
"chartType": "bar",
"title": "Updated Title",
"datasets": [ ... ],
"embedUrl": "https://vizelify.com/embed/charts/2a8f7814-...",
"updatedAt": "2026-05-11T01:00:00.000Z"
}Delete Chart
Permanently remove a chart and all associated data.
/api/v1/charts/:idResponse (200 OK)
{
"success": true
}Export Chart
Generate a download URL for the chart in your preferred format.
/api/v1/charts/:id/export?format=png|svgParameters
| Field | Type | Description |
|---|---|---|
format | string | "png" or "svg" (default: "svg") |
Response (200 OK)
{
"chartId": "2a8f7814-...",
"format": "png",
"downloadUrl": "https://vizelify.com/api/v1/charts/2a8f7814-.../download?format=png"
}Download Chart File
Returns the actual image file. No authentication required. Charts are rendered server-side at 600x400px.
/api/v1/charts/:id/download?format=png|svgParameters
| Field | Type | Description |
|---|---|---|
format | string | "png" or "svg" (default: "svg") |
Returns binary file with Content-Type: image/png or image/svg+xml and a Content-Disposition: attachment header for automatic download.
Error Responses
All errors return JSON with an error field and an appropriate HTTP status code.
| Status | Meaning |
|---|---|
400 | Bad request — missing required fields or invalid format |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — chart belongs to another user |
404 | Not found — chart does not exist |
500 | Internal server error |
Example Error Response
{
"error": "Unauthorized",
"message": "Missing X-AUTHORIZATION header"
}