Secret Keys

Manage API authentication credentials for programmatic access to Datature Vi.

Secret keys are the credentials that authenticate your applications and scripts with Datature Vi. When you initialize the Vi SDK or call the REST API directly, you pass a secret key to identify your organization and authorize the request.

New to Datature Vi?

Secret keys authenticate your Vi SDK and API requests. Learn what Datature Vi does or follow the quickstart.

Keep Keys Out Of Source Code

Secret keys grant access to your entire organization. Store them in environment variables or a secrets manager. Never commit them to version control or expose them in client-side code.

By the end of this guide

Create and manage secret keys to authenticate the Vi SDK and API.

What are secret keys?

Each secret key is tied to your organization and carries a set of permissions that control what it can do. You create keys through the Datature Vi settings panel, copy the key value once (it's only shown at creation), and then pass it to the SDK or API.

Keys appear in a table on the Secret Keys page with the following columns:

Secret Keys page columns

Column
What it shows
Name
Your chosen label for the key
Last Used
When the key last authenticated a request
Created
Creation date
Created By
The user who generated the key
Access
Which resource types the key can reach (Dataset, Training, Deployment)
Permission
What the key can do (Full, Read Only, Labeler Only, Restricted)

When do you need a secret key?

You need a secret key any time you access Vi programmatically:

When do you need a secret key?

Use case
Example
Vi SDK integration
Authenticating a Python script that creates datasets or runs training
Automated workflows
Scheduled data upload, training, and deployment pipelines
CI/CD pipelines
Running model training and tests as part of a continuous delivery process
Data pipelines
Automating dataset creation and annotation uploads
Custom tools
Internal dashboards built on top of the Vi API
Batch processing
Running large volumes of images through a trained model

If you need a one-page RACI template (who creates keys, who approves production credentials, who owns billing), pair this guide with Roles and RACI checklist.

Access scope and permissions

When you create a key, you configure two things:

Access scope controls which resource categories the key can reach:

  • Dataset Access: datasets and annotations
  • Training Access: training workflows and runs
  • Deployment Access: model deployments and inference

Permission level controls what actions the key can take:

  • Full: complete read and write access
  • Read Only: view data and model information, no modifications
  • Labeler Only: create and modify annotations only
  • Restricted: custom limited access
Access Scope Availability

Granular access scope configuration is not available for all organizations. By default, keys have access to all resources. Contact your account manager to enable per-scope controls.

Security best practices

Use separate keys per environment. Create distinct keys for production, staging, development, and CI/CD. That way, a compromised development key doesn't affect your production system.

Rotate keys on a schedule. A good starting point: every 90 days for production and CI/CD keys, every 180 days for staging, and as needed for development.

Audit regularly. Check the Last Used column to identify keys that haven't been used in a long time. Delete them to shrink your attack surface.

If a key is compromised, act immediately:

1

Delete the compromised key

2

Create a replacement key

3

Update all applications that used the old key

4

Review recent activity for unauthorized access

5

Notify your team

Next steps

Create A Secret Key

Generate a new API key and configure its access scope and permissions.

Delete A Secret Key

Revoke and remove unused or compromised keys.