API Documentation
Build powerful integrations with the Olux Professional API.
Getting Started
The Olux Professional API is organized around REST. Our API has predictable resource-oriented URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes.
Base URL: https://api.oluxprofessional.com/v1
Authentication
The API uses API keys to authenticate requests. You can view and manage your API keys in the Dashboard. Include your API key in the Authorization header of all requests.
curl https://api.oluxprofessional.com/v1/users \
-H "Authorization: Bearer YOUR_API_KEY"
Warning: Keep your API keys secure. Do not share them in publicly accessible areas or client-side code.
Endpoints
List Users
Returns a list of users in your organization.
GET /users
Create User
Creates a new user in your organization.
POST /users
{
"name": "John Doe",
"email": "john@example.com",
"role": "member"
}
Get User
Retrieves a specific user by ID.
GET /users/:id
Update User
Updates an existing user.
PUT /users/:id
{
"name": "John Smith",
"role": "admin"
}
Delete User
Removes a user from your organization.
DELETE /users/:id
Rate Limits
The API implements rate limiting to ensure fair usage. Rate limits vary by plan:
- Starter: 1,000 requests per hour
- Professional: 10,000 requests per hour
- Enterprise: Custom limits
Rate limit information is included in response headers:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 999
X-RateLimit-Reset: 1640995200
Error Handling
The API uses conventional HTTP response codes to indicate success or failure. Codes in the 2xx range indicate success, 4xx indicate client errors, and 5xx indicate server errors.
200 - OK
The request was successful.
400 - Bad Request
The request was invalid or cannot be served.
401 - Unauthorized
Authentication credentials are missing or invalid.
404 - Not Found
The requested resource doesn't exist.
429 - Too Many Requests
Rate limit exceeded.
500 - Internal Server Error
Something went wrong on our end.
{
"error": {
"type": "invalid_request",
"message": "Missing required parameter: email"
}
}