Install any skill in seconds. Free to start, no credit card required.
Get Started Free →veniceai/venice-api-keys
Manage Venice API keys. Covers GET/POST/PATCH/DELETE /api_keys, GET /api_keys/{id}, GET /api_keys/rate_limits, GET /api_keys/rate_limits/log, the two-step /api_keys/generate_web3_key wallet flow, INFERENCE vs ADMIN key types, and per-key consumption limits (USD / DIEM).
Passed 22 of 22 test cases with the skill, and 5 of 22 without it.
and 22 more in the full report
17 fixed5 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
I want to set a one-time lifetime spending cap of $50 on a Venice AI key that never resets. What limitPeriod enum value should I use in the key creation request?
| Checked | Without skill | With skill |
|---|---|---|
| Specifies LIFETIME as the limitPeriod parameter value | Missed | Passed |
The instructions your model reads when the skill loads.
Admin endpoints for managing Bearer API keys. Management routes need an ADMIN key. For wallet-only auth, use venice-auth / venice-x402 instead.
| Endpoint | Key type | Purpose |
|---|---|---|
GET /api_keys | ADMIN | List your active keys (masked). |
POST /api_keys | ADMIN | Create a key. Response contains the only copy of the secret. |
PATCH /api_keys | ADMIN | Update description, expiresAt, consumptionLimit, limitPeriod, modelPrivacy. |
DELETE /api_keys?id=... | ADMIN | Revoke a key. |
GET /api_keys/{id} | ADMIN | Full details for one key (usage, limits, expiration). |
GET /api_keys/rate_limits | any | Balances + per-model rate limits for the calling key. |
GET /api_keys/rate_limits/log | ADMIN | Last 50 rate-limit breaches on the account. |
GET /api_keys/generate_web3_key | none | Get a short-lived token to sign with a wallet. |
POST /api_keys/generate_web3_key | none | Prove a wallet holds staked VVV and mint an API key. |
Limits: key creation (POST /api_keys) is capped at 20 requests/minute per user and 500 active keys per user (expired keys don't count).
A request with no Authorization header gets a 402 x402 auth challenge rather than 401; a bad key gets 401.
| Type | Can call |
|---|---|
INFERENCE | Inference and utility routes — /chat/completions, /responses, /decisions, /systemone, /image/*, /images/generations, /audio/*, /video/*, /embeddings, /augment/*, /crypto/rpc/*, /characters*, /models* — plus GET /api_keys/rate_limits. Admin-only routes return 401 "Admin API key required". |
ADMIN | Everything above, plus GET/POST/PATCH/DELETE /api_keys, GET /api_keys/{id}, GET /api_keys/rate_limits/log, and all billing routes (/billing/balance, /billing/usage-history, /billing/usage-analytics). |
Secrets are prefixed VENICE_INFERENCE_KEY_ or VENICE_ADMIN_KEY_. A leaf app should almost always use INFERENCE keys — per-app, per-user, with consumption caps.
GET /api_keyscurl https://api.venice.ai/api/v1/api_keys \
-H "Authorization: Bearer $VENICE_ADMIN_KEY"
{
"object": "list",
"data": [
test cases passed, vs 5 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.