Authentication
Every request carries a Bearer token. You get one key per dataset subscription, and it never expires until you rotate it.
API Keys
You get one key per dataset subscription. A key grants access only to the dataset it belongs to, so revoking one never affects the others. Keys are shown once on the dataset page and stored securely on your account.
Treat keys like passwords. Keep them in an environment variable or a secrets manager, never in client side code or a public repository.
The Authorization Header
Send the key as a Bearer token on every request:
Authorization: Bearer dtl_live_ab3k9x_••••••••A full request looks like this:
curl -sS https://www.datlyne.com/v1/vendor-master-data-general-us/vendors \
-H "Authorization: Bearer dtl_live_ab3k9x_••••••••" \
-G --data-urlencode "limit=1"A missing or malformed key returns 401 Unauthorized. A valid key that does not cover the dataset returns 403 Forbidden; an unknown dataset or table returns 404 first, never a 403.
Scopes and Entitlements
A key carries one scope per dataset it can read, written as dataset:vendor-master-data-general-us:read. The entitlement behind that scope is re-checked on every request rather than cached, so a lapsed subscription stops working immediately and returns 403 Forbidden with error entitlement_expired.
Every 401 and 403 also carries a standard WWW-Authenticate challenge, so an HTTP client can tell a missing key apart from a rejected one:
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="Datlyne API", error="invalid_token",
error_description="The access token is malformed, revoked, expired, or otherwise invalid"
{ "error": "invalid_key" }Rotating a Key
Roll a key at any time from your account dashboard. The previous key keeps working for 24 hours after rotation so you can deploy the new one with zero downtime, then it is permanently disabled. Rotating a key never changes your subscription or your data.
Ready to make a call? Head to the REST API reference.