The Lamassu IoT Platform provides a comprehensive REST API for managing certificate authorities, devices, keys, and related resources. All APIs follow RESTful principles with consistent patterns for authentication, pagination, filtering, and error handling.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/lamassuiot/lamassuiot/llms.txt
Use this file to discover all available pages before exploring further.
Architecture
Lamassu’s API is organized into multiple services, each responsible for specific domain operations:| Service | Base URL | Description |
|---|---|---|
| CA Service | /api/ca/v1 | Certificate Authority operations, certificate lifecycle, and issuance profiles |
| Device Manager | /api/devmanager/v1 | Device inventory, lifecycle, and identity management |
| DMS Manager | /api/dmsmanager/v1 | Device Management Service configuration and EST enrollment |
| KMS | /api/kms/v1 | Key Management Service for cryptographic operations |
API Design Principles
RESTful Resources
All endpoints follow REST conventions:- GET - Retrieve resources
- POST - Create new resources
- PUT - Update existing resources (full replacement)
- PATCH - Partial updates (metadata only)
- DELETE - Remove resources
Consistent Response Format
List endpoints return paginated results with a standard structure:Array of resource objects matching the query
Pagination bookmark for the next page. Omitted if there are no more results.
Pagination
All list endpoints support cursor-based pagination:Number of results per page (maximum varies by endpoint)
Bookmark token from the previous response’s
next fieldSorting
List endpoints support server-side sorting:Field name to sort by (e.g.,
creation_ts, status, id)Sort direction:
asc (ascending) or desc (descending)Common Response Codes
The API uses standard HTTP status codes:| Code | Status | Meaning |
|---|---|---|
| 200 | OK | Request succeeded |
| 201 | Created | Resource successfully created |
| 204 | No Content | Successful deletion (no response body) |
| 400 | Bad Request | Invalid request parameters or validation error |
| 401 | Unauthorized | Missing or invalid authentication |
| 404 | Not Found | Resource does not exist |
| 409 | Conflict | Resource already exists or operation conflicts with current state |
| 500 | Internal Server Error | Server-side error |
Error Response Format
All error responses include a JSON body with the error message:Human-readable error message describing what went wrong
Common Patterns
Resource Identifiers
Resources are typically identified by:- ID: Alphanumeric identifier (e.g.,
my-ca,device-123) - Serial Number: For certificates (e.g., hexadecimal string)
- Path Parameters: Embedded in the URL (e.g.,
/cas/{id})
Metadata Management
Most resources support custom metadata via dedicated endpoints:- PUT
/resource/{id}/metadata- Replace all metadata - PATCH
/resource/{id}/metadata- Update specific metadata fields
Status Updates
Certificates and CAs support status transitions via POST to/status endpoints:
Timestamp Format
All timestamps use ISO 8601 format with UTC timezone:Rate Limiting
The API does not currently enforce global rate limits, but clients should implement:- Exponential backoff for retry logic
- Connection pooling for concurrent requests
- Respect for
Retry-Afterheaders if present
Versioning
The API version is included in the base URL path (e.g.,/api/ca/v1). Breaking changes will result in a new API version (v2, v3, etc.), with the previous version maintained for backward compatibility.
Next Steps
Authentication
Learn about JWT bearer tokens and mTLS authentication
Filtering & Sorting
Advanced filtering with JSONPath and server-side sorting
CA API
Manage certificate authorities and certificates
Device API
Device lifecycle and identity management
