Authentication
Every request must include an API key, sent over HTTP Basic Auth: your API key goes in the username field; the password is empty.
Header format
Authorization: Basic base64("<api-key>:")
Note the trailing colon — that's the empty password.
Examples
curl
curl -u handles the encoding for you:
curl -u 'dk_live_xxxxxxxxxxxxxxxxxxxxxxxx:' \
https://partner-api.elivaas.com/api/ping
Raw header
echo -n 'dk_live_xxxxxxxxxxxxxxxxxxxxxxxx:' | base64
# → ZGtfbGl2ZV94eHh...
curl -H 'Authorization: Basic ZGtfbGl2ZV94eHh...' \
https://partner-api.elivaas.com/api/ping
Node
const key = 'dk_live_xxxxxxxxxxxxxxxxxxxxxxxx';
const res = await fetch('https://partner-api.elivaas.com/api/ping', {
headers: {
Authorization: 'Basic ' + Buffer.from(key + ':').toString('base64'),
},
});
Python
import requests
key = 'dk_live_xxxxxxxxxxxxxxxxxxxxxxxx'
res = requests.get(
'https://partner-api.elivaas.com/api/ping',
auth=(key, ''),
)
Key rotation
- Keys are partner-scoped — the channel your rates are read against is bound to your key, not passed at request time.
- Lost keys cannot be recovered. Email us to issue a replacement, then revoke the old one.
- Revoked keys return
401 Unauthorizedimmediately.
Trying it from these docs
Every endpoint page has a Try it panel on the right. To use it:
- Click the Authorization section at the top of the panel.
- Pick the apiKey scheme.
- Paste your API key into the username field; leave password empty.
- Click Save.
- Hit Send API Request — the example cURL on the page updates with the
Authorizationheader included. Credentials persist in your browser only.
If you copy the cURL command before saving credentials, the Authorization header
will be missing — that's the most common reason "try it" fails with 401.
Verifying your key
GET /api/ping returns your partner id and the key prefix. Use it as a smoke test.
curl -u 'dk_live_xxxxxxxxxxxxxxxxxxxxxxxx:' https://partner-api.elivaas.com/api/ping
# {"partnerId":"prt_abc...","keyPrefix":"dk_live_abc","timestamp":"2026-05-26T10:00:00Z"}