API Documentation
REST API for equipment maintenance tracking. All responses are JSON.
Authentication
Include your API key as a Bearer token in every request:
Authorization: Bearer maintio_xxxxxxxxxxxxxxxxxxxx
Generate API keys in your dashboard.
All keys start with maintio_. The raw key is shown only once at creation.
Base URL
https://api.maint.io
Endpoints
GET
/v1/assets List all assets for the authenticated tenant.
Parameters
| updated_since | ISO 8601 datetime | Return only assets updated after this timestamp. |
POST
/v1/assets Create a new asset.
Request body
{ "id": "<uuid>", "name": "Pump A", "location": "Bay 3", "description": "..." } GET
/v1/tags/{tagId} Look up a tag by its 10-character ID. Returns state: assigned | unlinked | retired.
POST
/v1/tags/batch Generate a batch of unlinked tag IDs.
Request body
{ "count": 100 } GET
/v1/records List maintenance records.
Parameters
| asset_id | uuid | Filter by asset. |
| updated_since | ISO 8601 | Delta filter. |
POST
/v1/records Create a maintenance record. Idempotent — supply your own UUID.
Request body
{ "id": "<uuid>", "asset_id": "<uuid>", "record_type": "Inspection", "performed_at": "...", "description": "..." } GET
/v1/changes Unified delta feed — assets, tags, and records updated since a timestamp.
Parameters
| updated_since | ISO 8601 | Required. Use the previous response's next_updated_since for pagination. |
| limit | integer | Default 500. Max 1000. |
Error codes
| HTTP | code | Meaning |
|---|---|---|
| 401 | INVALID_API_KEY | API key missing, malformed, or revoked. |
| 403 | INSUFFICIENT_SCOPE | Key lacks the required scope for this action. |
| 409 | STALE_WRITE | Updated_at mismatch — another client wrote first. Re-fetch and retry. |
| 409 | TAG_CONFLICT | Tag ID already registered to a different asset. |
| 429 | QUOTA_EXCEEDED | Monthly request quota exhausted. Upgrade or wait for reset. |
| 429 | RATE_LIMITED | Per-minute limit reached. Retry after X-RateLimit-Reset. |
Rate limits
| Plan | Requests/month | Requests/minute |
|---|---|---|
| Solo | 50,000 | 60 |
| Team | 500,000 | 300 |
| Business | 5,000,000 | 1,000 |
| Enterprise | Custom | Custom |