Getting an API Key
- Go to app.vidoc.dev
- Select your project
- Navigate to Settings → API Keys
- Click “Create new key”, enter a name and pick an expiry
- Copy the key and store it securely
Authentication Method
Send the key in thex-vidoc-token header. This is the only header the REST API reads.
Base URL
All API requests use:/v1 prefix, for example https://api.vidoc.dev/v1/issues.
Permissions
An API key carries the role of the user who created it. Each route requires one permission:
A
read_only member cannot create API keys, so every key created in the dashboard has at least the developer role.
Status changes also need a key that belongs to a user, because the change records its author. Keys created in the dashboard are user keys. System, GitHub and legacy tokens have no user and get 403 Status changes need a user API key.
Request Format
Headers
Request Body
POST and PATCH requests use JSON:Response Format
Success Response
POST routes answer 201, every other route answers 200, always with a JSON body. For example, POST /v1/scan-workflows/start returns:
Error Response
Every error has one body shape.statusCode and message say what happened; timestamp and path are always present, and most errors also carry error, the HTTP status text.
400) has the message Validation failed and an errors array. Each item names the field (path) and the reason (message):
Error Codes
Rate Limits
The API does not rate-limit requests today, so there are no429 answers and no X-RateLimit-* headers. Rate limiting is planned. Until then:
- Keep bulk status updates at 100 items or fewer per request, and do not run many bulk requests at the same time
- Poll a scan status every few seconds, not in a tight loop
Code Examples
JavaScript/Node.js
Python
cURL
Security Best Practices
- Never commit API keys - Use environment variables
- Pick the shortest expiry that fits the job - Keys expire at the chosen preset; plan the rotation before that date
- Use separate keys - One per environment/purpose
- Create keys from the right account - A key carries the role of its creator; create automation keys from an account with the smallest role that has the needed permission
- Delete compromised keys - Immediately if exposed
Related Pages
API Keys
Manage API keys
Scanning API
Start scans via API
Issues API
Access issues via API
CLI Authentication
CLI auth methods

