401 AUTH_REQUIRED while the streaming endpoint declines the handshake outright.
TetraFi uses three credential types, each with a distinct job:
Compliance-sensitive operations (such as order submission) may additionally require the
X-TetraFi-Attestation header.
Getting a Key
Create a service account in your workspace and issue a key for it from the dashboard (Workspace → Service Accounts → API Keys). Keys are scoped — Read, Trade, or Admin — so a quoting integration only needsTrade. Use tfk_test_ keys against the sandbox and tfk_live_ keys in production.
Not on a workspace yet? Reach the team via support and they’ll get one set up.
Sending Credentials
- REST APIs
- WebSocket
For HTTP requests (RFQ, Router, Trade History), authenticate with the With curl:
X-API-Key header:Access With and Without a Key
Wire the whole flow against the sandbox on a
tfk_test_ key first; flip to tfk_live_ only when the loop is proven.