API reference
Keys
Create, list and revoke API keys.
List API keys
GET
/v1/keysRequest
curl "https://api.getvindex.com/v1/keys" \
-H "Authorization: Bearer $VINDEX_KEY"Response 200
Every key of the tenant, revoked ones included. Never the key itself.
{
"data": [
{
"id": "key_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"prefix": "vx_live_3f2a",
"mode": "test",
"label": "ci",
"created_at": "2026-09-17T08:51:06.000Z",
"last_used_at": null,
"revoked_at": null
}
]
}Errors
400Invalid request (malformed JSON, or the body/query failed validation).401Missing, malformed, unknown or revoked API key.429Rate limit exceeded for this API key. SeeRetry-After.
Create an API key
POST
/v1/keysReturns the full key once; only its SHA-256 hash is stored. An API key creates test-mode keys; live keys are made in the dashboard.
Body
mode"live" | "test"requiredlabelstring≤ 120 chars
Request
curl -X POST "https://api.getvindex.com/v1/keys" \
-H "Authorization: Bearer $VINDEX_KEY" \
-H "Content-Type: application/json" \
-d '{"mode":"test","label":"ci"}'Response 201
Created. Store key now: it is never shown again.
{
"id": "key_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"prefix": "vx_live_3f2a",
"mode": "test",
"label": "ci",
"created_at": "2026-09-17T08:51:06.000Z",
"last_used_at": null,
"revoked_at": null,
"key": "vx_test_4f1c0d2e9b8a7c6d5e4f3a2b1c0d9e8f7a6b5c4d"
}Errors
400Invalid request (malformed JSON, or the body/query failed validation).401Missing, malformed, unknown or revoked API key.402The workspace's plan has ended, so it's read-only (subscription_inactive). Revoking keys still works.403A test-mode key tried to create a live key (test_key_forbidden), or a live key did: live keys are made in the dashboard (dashboard_only).429Rate limit exceeded for this API key. SeeRetry-After.
Revoke an API key
DELETE
/v1/keys/{id}Idempotent. Takes effect everywhere within about two minutes (the key's auth cache entry is deleted, KV is eventually consistent, and cached lookups expire after 60 s). You can't revoke the key making the request.
Parameters
idstringpathrequiredAPI key id 1–64 chars
Request
curl -X DELETE "https://api.getvindex.com/v1/keys/$KEY_ID" \
-H "Authorization: Bearer $VINDEX_KEY"Response 200
The revoked key.
{
"id": "key_3f2a0c9e8b7d4c6a9f1e2d3c4b5a6978",
"prefix": "vx_live_3f2a",
"mode": "test",
"label": "ci",
"created_at": "2026-09-17T08:51:06.000Z",
"last_used_at": null,
"revoked_at": null
}Errors
400Invalid request (malformed JSON, or the body/query failed validation).401Missing, malformed, unknown or revoked API key.403A test-mode key tried to revoke a live key (test_key_forbidden).404No such key for this tenant.409The key making the request can't revoke itself (cannot_revoke_current_key).429Rate limit exceeded for this API key. SeeRetry-After.