Getting Started
Get from zero to your first API call in under 5 minutes.
Go to account.xeboki.com → Connected Apps and click New Key.
Name your key
e.g. "My Integration" or "Production"
Select scopes
Grant only what your app needs per product
Copy the key
Shown once — save it securely immediately
curl https://api.xeboki.com/v1/account/me \ -H "Authorization: Bearer xbk_live_your_key_here"
const res = await fetch('https://api.xeboki.com/v1/account/me', {
headers: { 'Authorization': 'Bearer xbk_live_your_key_here' }
})
const user = await res.json()
console.log(user.email)import requests
resp = requests.get(
'https://api.xeboki.com/v1/account/me',
headers={'Authorization': 'Bearer xbk_live_your_key_here'}
)
print(resp.json()['email']){
"user": {
"id": 42,
"email": "you@company.com",
"full_name": "Your Name",
"products": ["pos", "chat"]
}
}| Code | Error | How to fix |
|---|---|---|
| 400 | Bad Request | Check request body schema in the reference. |
| 401 | Unauthorized | API key missing or invalid. Verify the key in Connected Apps. |
| 403 | Forbidden | Scope not granted. Add the required scope to your key. |
| 404 | Not Found | Resource does not exist or belongs to a different account. |
| 422 | Validation Error | Request body failed validation. Check required fields. |
| 429 | Too Many Requests | Rate limit exceeded. Upgrade plan or wait until midnight UTC. |
| 502 | Bad Gateway | Upstream service temporarily unavailable. Retry with backoff. |
| 500 | Internal Server Error | Contact support at developers@xeboki.com with your request ID. |
Instead of polling the API, register an HTTPS endpoint to receive push notifications when events happen.
View full API reference →
Endpoints, scopes, request/response schemas for all seven products.