Overview
Our API is designed to provide you with programmatic access to core features of Elementum, enabling you to build integrations, automate workflows, and extend the capabilities of your Elementum workspace. This guide will walk you through the essential steps to get started, from authentication to making your first API call.Elementum API Specification
View the full OpenAPI specification file for a complete list of endpoints and schemas.
API Status
Check the current status of our API services and get notified of any issues.
Authentication
API access is at the user level. You create a Client ID and Secret for a user; those credentials are used to obtain a Bearer token. Tokens expire after 24 hours and are required for all API requests.Step 1: Create API credentials
- Sign in to Elementum in your web browser
- Open the User Settings menu and go to the OAuth section
- Select Create New Token, choose API Access, and click Generate Token
- Save the generated Client ID and Client Secret immediately — they are shown only once and cannot be retrieved later
Step 2: Obtain a Bearer token
Request an access token from the OAuth 2.0 endpoint. Use this step each time you need a new Bearer token (for example, after expiry).- Endpoint:
POST https://api.elementum.io/oauth/token(EU:https://api.eu.elementum.io/oauth/token) - Content-Type:
application/x-www-form-urlencoded - Authorization: Basic Auth with your Client ID as the username and Client Secret as the password (base64-encoded
client_id:client_secret) - Body:
grant_type=client_credentials
access_token. Use it in the Authorization header as Bearer {access_token} for all API requests. Records created or updated via the API are attributed to the API user.
Step 3: Make authenticated API calls
Include the access token in theAuthorization header:
YOUR_ACCESS_TOKEN, the record type, and namespace with your values. See Record Types and Namespaces and the endpoint reference below.
Base URL
All API requests are made to the following base URL. All endpoints in this documentation are listed relative to this base URL.https://api.elementum.io/v1
For users in the EU region, use the EU endpoint:
https://api.eu.elementum.io/v1Core Concepts
Record Types and Namespaces
The API supports record types such as Apps, Tasks, and Elements. You must specify the record type and its alias (namespace) in the path. Aliases are unique identifiers for the app, element, or task. Where to find the alias:- In the Create Record modal for that record type
- In Admin — aliases can be set in the Create Definition (or equivalent) modals for the app, element, or task
/{recordType}/{alias} (e.g. /{recordType}/{alias}/{id} for a specific record).
File Attachments
The Elementum API supports adding attachments to records via the attachment endpoints. When working with file uploads:- Maximum File Size: 250MB per file
- Supported Operations: Upload attachments, add URL links, delete attachments
- File Storage: Files are stored as attachments on records and can be accessed via the attachment URL
- Common Use Cases: Document uploads, image attachments, report files, contracts
Filtering Results
Search endpoints accept RSQL filter strings in thefilter query parameter. Use the operators below in your filter expressions.
Operators
Combining Filters
- AND: Use semicolon (
;) — e.g.Status==Open;Priority==High. In URLs, encode as%3b. - OR: Use comma (
,) — e.g.Status==Open,Status==Closed. In URLs, encode as%2c.
AND operators take precedence over OR operators in filter expressions. URL-encode special characters when passing filters in query parameters.
Error Handling
The Elementum API uses standard HTTP status codes to indicate the success or failure of an API request.Rate Limiting
To ensure the stability of our services for all users, the Elementum API enforces rate limiting. If you exceed the rate limit, you will receive an HTTP429 Too Many Requests response.
Endpoint reference
The base URL ishttps://api.elementum.io/v1 (EU: https://api.eu.elementum.io/v1). Supported endpoints by area:
See the API Reference sections for parameters, request bodies, and response schemas.
Best Practices and important notes
- Field names and picklist values match what is configured in the record type definition in Admin. Use the exact names and values from your app.
- Date and date-time fields must be in ISO 8601 format with UTC (
Z) offset:YYYY-MM-DDTHH:MM:SS.SSSZ— for example,2026-06-05T14:30:00.000Z. Mixing local-timezone offsets can cause display inconsistencies; always send UTC. - Record creation must include all required fields defined for that record type.
- Relating items (e.g. adding Elements to an App record) is done one item at a time.
- URL-encode special characters in filter strings when using query parameters.
- Access tokens expire after 24 hours; obtain a new token when needed.
Versioning
Our API is versioned to ensure that changes are predictable and non-breaking. The current version isv1, which is specified in the URL of your API requests.
https://api.elementum.io/v1/{endpoint}