Skip to main content
API keys authenticate the Vidoc CLI and API requests. Each key is scoped to a specific project.

Creating an API Key

  1. Go to your project
  2. Navigate to SettingsAPI Keys
  3. Click “Create API Key”
  4. Enter a name (e.g., “CI/CD Pipeline”, “Local Development”)
  5. Click “Create”
  6. Copy the key immediately
The API key is only shown once. Store it securely before closing the dialog.

API Key Properties

PropertyDescription
NameDescriptive label for identification
ProjectThe project this key authenticates to
CreatedWhen the key was created
Last UsedMost recent API call with this key
PermissionsAll keys have full project access

Using API Keys

CLI Authentication

# Interactive login
vidoc login
# Enter your API key when prompted

# Direct login
vidoc login your-api-key

# Environment variable (recommended for CI/CD)
export VIDOC_API_KEY=your-api-key
vidoc scan

API Authentication

Include the key in the Authorization header:
curl -H "Authorization: Bearer your-api-key" \
  https://api.vidocsecurity.com/v1/scan-workflows/start

Managing API Keys

View Keys

  1. Go to SettingsAPI Keys
  2. See all keys for the project
  3. Check last used timestamps

Revoke a Key

  1. Find the key in the list
  2. Click “Revoke”
  3. Confirm revocation
Revoking a key immediately invalidates it. CI/CD pipelines using the key will fail.

Rotate Keys

To rotate a key:
  1. Create a new key
  2. Update your CI/CD pipelines with the new key
  3. Verify scans work with the new key
  4. Revoke the old key

Best Practices

Use Descriptive Names

Name keys by their purpose:
  • github-actions-prod
  • gitlab-ci-staging
  • local-dev-alice

One Key Per Purpose

Create separate keys for:
  • Each CI/CD pipeline
  • Each developer (for local development)
  • Each environment
This allows granular revocation if a key is compromised.

Secure Storage

EnvironmentStorage Method
GitHub ActionsRepository Secrets
GitLab CICI/CD Variables (masked)
LocalEnvironment variable or vidoc login
JenkinsCredentials plugin

Regular Rotation

Rotate keys periodically:
  • Every 90 days for production
  • After team member departure
  • After any suspected compromise

Permissions

All API keys have full access to their project:
  • Start scans
  • View issues
  • Access scan results
Project-level permissions are managed through Team Members.

Rate Limits

API calls are rate-limited per project:
OperationLimit
Start scan10 per minute
Get status100 per minute
List issues100 per minute
Contact support if you need higher limits.

Troubleshooting

”Invalid API key”

  1. Verify the key was copied correctly
  2. Check for extra whitespace
  3. Ensure the key hasn’t been revoked
  4. Verify you’re using the right project’s key

”API key expired”

API keys don’t expire automatically. If you see this error:
  1. The key may have been revoked
  2. Create a new key

”Rate limit exceeded”

  1. Reduce scan frequency
  2. Check for duplicate CI/CD triggers
  3. Contact support for limit increase