API Overview
Available to: Developers (license type) Minimum plan: Free (with usage limits per plan)
TitanRDM provides a comprehensive REST API that allows you to automate reference data management tasks programmatically. The API supports reading and writing table data, managing table definitions, triggering imports and exports, and administering branches, deployments, and promotions.
Base URL
All API endpoints are available at:
https://{your-subdomain}.app.titanrdm.com/api/v1/
Replace {your-subdomain} with your account's subdomain.
API Versioning
The API is versioned via the URL path. The current version is v1. All endpoints are prefixed with /api/v1/.
Authentication
The API uses OAuth 2.0. Two grant types are supported:
| Grant Type | Use Case |
| Client Credentials | Machine-to-machine integrations (no user context). Best for automated pipelines and ETL jobs. |
| Authorization Code | User-context integrations (actions attributed to a specific user). Required for endpoints that need a user (e.g., deployments, promotions). |
See Authentication for full details on obtaining and using tokens.
Request Format
- Content-Type:
application/json - Accept:
application/json - Authorization:
Bearer {access_token}
All request bodies must be JSON-encoded. All responses are JSON.
Response Format
Successful Responses
Single resource:
json
{
"id": 1,
"name": "Currency Codes",
"description": "ISO 4217 currency codes",
...
}
Collection (paginated):
json
{
"data": [ ... ],
"meta": {
"page": 1,
"per_page": 100,
"total_count": 250,
"total_pages": 3
}
}
Error Responses
{
"error": "Validation Failed",
"errors": ["Name can't be blank", "Domain is required"]
}
| HTTP Status | Meaning |
200 | Success |
201 | Created |
204 | No Content (successful deletion) |
400 | Bad Request — missing or invalid parameters |
401 | Unauthorized — invalid or missing token |
402 | Payment Required — account has overdue billing (write operations blocked) |
403 | Forbidden — insufficient permissions or OAuth scope |
404 | Not Found — resource does not exist |
422 | Unprocessable Entity — validation failed |
429 | Too Many Requests — API rate limit exceeded |
500 | Internal Server Error |
Pagination
Collection endpoints support pagination via query parameters:
| Parameter | Default | Max | Description |
page | 1 | — | Page number (1-indexed) |
per_page | 100 | 1000 | Number of items per page |
The response meta object contains pagination details to help you iterate through pages.
Filtering
Most collection endpoints support filtering via the q query parameter:
GET /api/v1/table_definitions?q=name:contains:currency&branch_id=5
Resource-specific filters are documented on each endpoint.
Scopes
OAuth tokens are granted specific scopes that control access:
| Scope | Grants |
api | Full API access (parent scope — includes all sub-scopes) |
api:read | Read-only access to all resources |
api:write | Create and update resources |
api:delete | Delete resources |
api:admin | Administrative operations (domains, users) |
Scopes are hierarchical: granting api includes api:read, api:write, api:delete, and api:admin.
Rate Limiting
API calls are tracked per account and counted against your plan's allowance:
| Plan | API Calls / Month |
| Free | 1,000 |
| Team | 15,000 |
| Business | 30,000 |
| Enterprise | Unlimited |
When you exceed your limit, you receive a 429 Too Many Requests response. If overage billing is enabled, calls continue but are charged at the overage rate.
Billing Status
If your account has an overdue payment (past 7 days), write operations (POST, PATCH, PUT, DELETE) return 402 Payment Required. Read operations continue to work.
Available Resources
| Resource | Endpoint Prefix | Operations |
| Table Data | /api/v1/table_data | Query, create, update, delete records |
| Table Definitions | /api/v1/table_definitions | CRUD, clone, remove |
| Column Definitions | /api/v1/column_definitions | CRUD for table columns |
| Deployed Tables | /api/v1/deployed_table_definitions | List deployed tables |
| Domains | /api/v1/domains | CRUD |
| Branches | /api/v1/branches | CRUD, set current branch |
| Deployments | /api/v1/deployments | CRUD, deploy, request, reject, cancel, abandon |
| Promotions | /api/v1/promotions | CRUD, promote, request, reject, cancel, abandon |
| Imports | /api/v1/imports | CRUD, upload_complete, complete |
| Exports | /api/v1/exports | CRUD |
| Users | /api/v1/users | CRUD |
| User Groups | /api/v1/user_groups | CRUD |
| User Group Assignments | /api/v1/user_group_assignments | CRUD |
| Permissions | /api/v1/permissions | List |
| Account | /api/v1/account | Show, update |
| Import Mappings | /api/v1/import_mappings | CRUD |
See API Endpoints Reference for full details on each endpoint.
Related Pages
- Authentication — obtaining and using OAuth tokens
- API Quick Start — get up and running in 5 minutes
- API Endpoints Reference — complete endpoint documentation
- OAuth Applications — managing API credentials
- SDK Imports and Exports — programmatic data operations