API Overview¶
The Leanmote API portfolio provides programmatic access to platform entities, engineering metrics, and enterprise identity workflows.
API surfaces¶
- REST API: organizations, teams, users, integrations, and dashboard resources.
- Metrics API: analytical metric payloads across DORA, flow, collaboration, and financial views.
- SCIM Handler: enterprise user provisioning and lifecycle automation.
- OTEL Ingest: telemetry ingestion for custom workflow and observability events.
Base URL¶
Authentication¶
All API requests require authentication via bearer token:
Obtaining an API Token¶
- Log in to Leanmote
- Navigate to Settings > API Tokens
- Click "Generate New Token"
- Copy and securely store the token (it won't be shown again)
Token Security¶
- Tokens are hashed with SHA256 before storage
- Tokens can have expiration dates
- Last usage is tracked for auditing
Response Format¶
All responses follow a standard envelope:
Success Response¶
{
"status": "success",
"data": [...],
"meta": {
"page": 1,
"per_page": 50,
"total": 100,
"total_pages": 2,
"sort": "created_at",
"order": "desc"
}
}
Error Response¶
Pagination¶
Use query parameters for pagination:
| Parameter | Description | Default |
|---|---|---|
page | Page number | 1 |
per_page | Results per page (max 100) | 50 |
Example:
Sorting¶
Control result ordering:
| Parameter | Description | Default |
|---|---|---|
sort | Field to sort by | varies |
order | Sort direction (asc, desc) | desc |
Example:
Filtering¶
Field Selection¶
Request specific fields:
Date Range Filtering¶
Filter by timestamps using bracket notation:
Supported operators: - [eq] - Equal to - [gte] - Greater than or equal - [lte] - Less than or equal - [gt] - Greater than - [lt] - Less than
Rate Limiting¶
API requests are rate limited:
- Standard: 1000 requests/hour
- Burst: 100 requests/minute
Rate limit headers are included in responses:
Error Codes¶
| Code | HTTP Status | Description |
|---|---|---|
UNAUTHORIZED | 401 | Invalid or missing token |
FORBIDDEN | 403 | Insufficient permissions |
NOT_FOUND | 404 | Resource not found |
VALIDATION_ERROR | 400 | Invalid request parameters |
RATE_LIMITED | 429 | Too many requests |
SERVER_ERROR | 500 | Internal server error |
API Endpoints¶
Organizations¶
GET /organizations- List organizationsGET /organizations/{id}- Get organizationGET /organizations/{id}/members- List membersGET /organizations/{id}/teams- List teams
Teams¶
GET /teams- List teamsGET /teams/{id}- Get teamGET /teams/{id}/members- List team membersGET /teams/{id}/tasks- List team tasks
Users¶
GET /users- List usersGET /users/{id}- Get userGET /users/{id}/teams- List user's teamsGET /users/{id}/interactions- List user interactions
Git¶
GET /git/apps- List git integrationsGET /git/apps/{id}/repositories- List repositoriesGET /git/apps/{id}/repositories/{repo}/commits- List commitsGET /git/apps/{id}/repositories/{repo}/pull-requests- List PRs
Dashboards¶
GET /dashboard-views- List dashboardsGET /dashboard-views/{id}- Get dashboardGET /dashboard-views/catalog- List available dashboard types
SDKs and Libraries¶
Official SDKs coming soon: - Python - JavaScript/TypeScript - Go
Webhooks¶
Leanmote supports outgoing webhooks for real-time notifications. Configure webhooks in Settings > Integrations > Webhooks.
Next Steps¶
- Authentication - Detailed auth guide
- REST API - Resource-oriented integration guide
- Metrics API - Metric payload integration guide
- Organizations API - Organization endpoints
- Teams API - Team endpoints
- Users API - User endpoints