API Reference
EnterpriseIntegrate your organization's data with external tools, analytics platforms, and custom applications using the Enkelt.ai REST API.
Base URL
https://enkelt.ai/api/public/v1All API requests should be made to this base URL. HTTPS is required.
Quick Overview
The Enkelt.ai API provides programmatic access to your organization's data. Use it to build custom integrations, sync data with external systems, or create automated workflows.
Bearer Auth
Authenticate with API keys using the Authorization header.
Rate Limited
Requests are rate-limited per tier. Enterprise gets 1,000 req/min.
JSON Format
All requests and responses use JSON. UTF-8 encoding required.
Authentication
All API requests require authentication using a Bearer token. Generate API keys from the Compliance > API Keys section in your dashboard.
Authorization Header
Authorization: Bearer sk_live_your_api_key_hereExample Request
curl -X GET "https://enkelt.ai/api/public/v1/players" \
-H "Authorization: Bearer sk_live_your_api_key" \
-H "Content-Type: application/json"Keep Your API Key Secure
Rate Limiting
API requests are rate-limited to ensure fair usage and system stability. Limits are applied per API key and reset on a rolling window basis.
Rate Limit Headers
Every response includes headers showing your current rate limit status:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 987
X-RateLimit-Reset: 1703275200Available Endpoints
The API provides access to the following resources. All endpoints require authentication and respect the permissions assigned to your API key.
Players
/playersList all players in your organization/players/players/:idGet a specific player by ID/players/:id/playersCreate a new player/playersplayers:write/players/:idUpdate an existing player/players/:idplayers:writeRole Validation
The role field must be a valid role for the team's game. If no team is assigned, roles are validated against the "Other" game roles.
Teams & Schedule
/teamsList all teams in your organization/teams/rosterGet roster information/roster/scheduleGet upcoming schedule and matches/scheduleProspects
/prospectsList all prospects in your pipeline/prospects/prospects/:idGet a specific prospect/prospects/:id/prospectsAdd a new prospect/prospectsprospects:write/prospects/:idUpdate prospect details/prospects/:idprospects:writeContracts
/contractsList all contracts/contracts/contracts/:idGet contract details/contracts/:id/contracts/expiringGet contracts expiring soon/contracts/expiringResponse Format
All API responses follow a consistent JSON structure. Successful responses include the data and metadata, while errors include error codes and messages.
Success Response
{
"success": true,
"data": {
"id": "player_abc123",
"ign": "TenZ",
"realName": "Tyson Ngo",
"game": "valorant",
"role": "duelist",
"country": "CA",
"createdAt": "2024-01-15T10:30:00Z"
},
"meta": {
"count": 1,
"requestId": "req_xyz789",
"timestamp": "2024-01-15T10:30:00Z"
}
}Error Response
{
"success": false,
"error": {
"code": "RATE_LIMIT_EXCEEDED",
"message": "Rate limit exceeded",
"status": 429
}
}Error Codes
When an error occurs, the API returns an appropriate HTTP status code and a JSON body with details about the error.
INVALID_API_KEY401The API key is missing or malformed
KEY_REVOKED403The API key has been revoked
KEY_EXPIRED403The API key has expired
INSUFFICIENT_PERMISSIONS403The API key lacks required permissions for this endpoint
VALIDATION_ERROR400Request body is missing required fields or contains invalid values
INVALID_PARAMETER400A query parameter has an invalid value
INVALID_ROLE400The role is not valid for the team's game. See valid roles per game
RATE_LIMIT_EXCEEDED429Too many requests. Wait and retry
NOT_FOUND404The requested resource was not found
INTERNAL_ERROR500An unexpected server error occurred
Permissions & Scopes
API keys can be assigned specific permissions to limit what data they can access. Always use the minimum permissions required for your integration.
players:readView player profiles, stats, and basic information
players:writeCreate and update player profiles
prospects:readView prospects in your recruitment pipeline
prospects:writeAdd and update prospects
contracts:readView contract details and expiration dates
teams:readView teams and team details
roster:readView roster information and player assignments
schedule:readView upcoming schedule, matches, and events
Code Examples
Here are examples of how to use the API in popular programming languages.
JavaScript / Node.js
const response = await fetch('https://enkelt.ai/api/public/v1/players', {
headers: {
'Authorization': 'Bearer sk_live_your_api_key',
'Content-Type': 'application/json'
}
});
const { data } = await response.json();
console.log(data); // Array of playersPython
import requests
response = requests.get(
'https://enkelt.ai/api/public/v1/players',
headers={
'Authorization': 'Bearer sk_live_your_api_key',
'Content-Type': 'application/json'
}
)
data = response.json()
print(data['data']) # List of playersBest Practices
- Use environment variables to store your API key, never hardcode it
- Implement exponential backoff when you receive rate limit errors (429)
- Cache responses when possible to reduce API calls
- Use the minimum required permissions for your API key
- Rotate API keys periodically for better security
- Monitor your API usage in the dashboard to avoid hitting limits
Need Help?