Complete reference for our REST API. Learn how to authenticate, make requests, and integrate with our platform.
Production: https://api.relias.com/v2
Staging: https://api-staging.relias.com/v2
Development: https://api-dev.relias.com/v2
All API requests require authentication using an API key.
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.relias.com/v2/users/me
[!warning]
Security: Never commit API keys to version control. Use environment variables or secrets management.
| Method | Header | Example |
|---|---|---|
| API Key | Authorization: Bearer {key} |
Bearer sk_live_abc123... |
| OAuth 2.0 | Authorization: Bearer {token} |
Bearer eyJhbGc... |
| JWT | Authorization: Bearer {jwt} |
Bearer eyJhbGc... |
Manage user accounts and profiles.
GET /v2/users/me
Response:
{
"id": "usr_123456",
"email": "john.doe@example.com",
"name": "John Doe",
"role": "developer",
"created_at": "2026-01-15T10:30:00Z",
"status": "active"
}
PATCH /v2/users/{user_id}
Content-Type: application/json
{
"name": "John Smith",
"preferences": {
"timezone": "UTC",
"language": "en"
}
}
Manage projects and associated resources.
GET /v2/projects?limit=10&offset=0
Query Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
limit |
integer | No | Number of results (default: 20, max: 100) |
offset |
integer | No | Pagination offset (default: 0) |
status |
string | No | Filter by status: active, archived |
sort |
string | No | Sort by: created_at, updated_at, name |
Response:
{
"data": [
{
"id": "proj_789",
"name": "Mobile App",
"status": "active",
"created_at": "2026-01-01T00:00:00Z"
}
],
"pagination": {
"total": 45,
"limit": 10,
"offset": 0,
"has_more": true
}
}
POST /v2/projects
Content-Type: application/json
{
"name": "New Project",
"description": "Project description",
"settings": {
"visibility": "private",
"auto_archive": false
}
}
Subscribe to events and receive real-time notifications.
| Event | Description |
|---|---|
user.created |
New user account created |
user.updated |
User profile updated |
project.created |
New project created |
project.deleted |
Project deleted |
deployment.started |
Deployment initiated |
deployment.completed |
Deployment finished |
{
"event": "project.created",
"timestamp": "2026-02-06T12:00:00Z",
"data": {
"id": "proj_123",
"name": "New Project",
"created_by": "usr_456"
}
}
API requests are rate-limited to ensure fair usage.
| Tier | Requests per Minute | Requests per Hour |
|---|---|---|
| Free | 60 | 1,000 |
| Pro | 300 | 10,000 |
| Enterprise | 1,000 | 100,000 |
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 285
X-RateLimit-Reset: 1644148800
[!tip]
Best Practice: Implement exponential backoff when rate limits are reached.
{
"error": {
"code": "invalid_request",
"message": "Missing required parameter: name",
"details": {
"field": "name",
"issue": "required"
}
}
}
| Code | HTTP Status | Description |
|---|---|---|
invalid_request |
400 | Malformed request |
unauthorized |
401 | Invalid or missing API key |
forbidden |
403 | Insufficient permissions |
not_found |
404 | Resource not found |
rate_limit_exceeded |
429 | Too many requests |
internal_error |
500 | Server error |
npm install @company/api-client
import { CompanyAPI } from '@company/api-client';
const client = new CompanyAPI({ apiKey: 'your-api-key' });
// Get current user
const user = await client.users.me();
console.log(user);
// List projects
const projects = await client.projects.list({ limit: 10 });
console.log(projects.data);
pip install company-api
from company_api import Client
client = Client(api_key='your-api-key')
# Get current user
user = client.users.me()
print(user)
# List projects
projects = client.projects.list(limit=10)
for project in projects.data:
print(project.name)
go get github.com/company/api-go
package main
import (
"github.com/company/api-go"
)
func main() {
client := api.NewClient("your-api-key")
// Get current user
user, _ := client.Users.Me()
fmt.Println(user)
// List projects
projects, _ := client.Projects.List(&api.ListParams{Limit: 10})
for _, p := range projects.Data {
fmt.Println(p.Name)
}
}
Need help with the API?
#api-support