Skip to main content
API keys are the credentials your applications use to call Arbitrage’s external data endpoints. Each key carries a name you choose, a set of permission scopes, and a per-minute rate limit. You can create multiple keys — one per application is recommended — and revoke any of them instantly if they are compromised or no longer needed. All key management calls require a valid console session token in the Authorization header.
The full API key is returned only once at creation. Predexy stores a hashed version and cannot recover the raw value. Copy and store the key securely before closing the response.

Creating a key

Send a POST request to /api/v1/console/keys with a name and optional configuration: Request fields:
Response:
The key field in the response is the value you use with the X-API-Key header. It will not appear in any subsequent API call.

Listing your keys

Retrieve all keys on your account with GET /api/v1/console/keys. The response includes metadata for each key but not the full key value — only the first 12 characters (key_prefix) are returned.
Response:
Response fields:
Save the id from this response. You will need it to pull usage statistics and logs for a specific key.

Revoking a key

Pass the key’s UUID to DELETE /api/v1/console/keys/{id}. Revocation takes effect immediately — there is no grace period.
Response:
Revocation is permanent. Any request that uses a revoked key immediately receives 401 INVALID_API_KEY. Revoked keys cannot be reactivated — create a new key if you need to restore access.

Using a key to call external endpoints

Pass the full key value in the X-API-Key header when calling any /api/v1/external/* endpoint:
Every request made with the key is logged and visible in Usage Analytics.

Best practices

  • One key per application. Keep your keys scoped to a single service so you can revoke one without affecting others.
  • Use descriptive names. Labels like "Arbitrage Bot – Staging" or "Dashboard – Production" make it easy to identify keys in the list and in usage logs.
  • Revoke unused keys. If a key has not been used in weeks (check last_used_at), revoke it to limit your attack surface.
  • Store keys in environment variables. Never hardcode a key in source code or commit it to version control.
  • Request only the permissions you need. If your application only reads arbitrage data, set permissions to '["read:arbitrage"]' rather than the full default set.