Atera API Patterns
Overview
The Atera REST API (v3) provides access to all major entities in the RMM/PSA platform. This skill covers authentication, pagination, rate limiting, error handling, and performance optimization patterns.
Authentication
X-API-KEY Header Authentication
Atera uses a simple API key authentication via the X-API-KEY header:
GET /api/v3/tickets
X-API-KEY: YOUR_API_KEY
Content-Type: application/json
Accept: application/json
Required Headers:
| Header | Value | Description |
|---|---|---|
X-API-KEY |
{your_api_key} |
API key from Atera portal |
Content-Type |
application/json |
For POST/PUT requests |
Accept |
application/json |
Optional, for explicit format |
Obtaining API Key
- Log into Atera portal
- Navigate to Admin > API
- Generate or copy your API key
- Store securely (treat as a password)
Environment Variable Setup
export ATERA_API_KEY="your-api-key-here"
Base URL
All API requests use the following base URL. Atera requires HTTPS; plain HTTP is rejected.
https://app.atera.com/api/v3
Pagination
OData-Style Pagination
Atera uses OData-style pagination with page and itemsInPage parameters:
GET /api/v3/tickets?page=1&itemsInPage=50
X-API-KEY: {api_key}
Pagination Parameters:
| Parameter | Type | Default | Max | Description |
|---|---|---|---|---|
page |
int | 1 | - | Page number (1-indexed) |
itemsInPage |
int | 20 | 50 | Items per page |
Response Structure
{
"items": [...],
"totalItems": 2847,
"page": 1,
"itemsInPage": 50,
"totalPages": 57
}
Response Fields:
| Field | Type | Description |
|---|---|---|
items |
array | Array of entities |
totalItems |
int | Total count across all pages |
page |
int | Current page number |
itemsInPage |
int | Items in current page |
totalPages |
int | Total number of pages |
Pagination Best Practices
- Use maximum page size - 50 items reduces API calls
- Add delays between pages - Avoid hitting rate limits
- Cache total counts - Don't re-fetch unnecessarily
- Implement retry logic - Handle transient failures
See references/examples.md for a working page-walking implementation.
Rate Limiting
Rate Limit: 700 Requests per Minute
Atera enforces a rate limit of 700 requests per minute per API key.
Rate Limit Headers
Atera may return rate limit information in response headers:
| Header | Description |
|---|---|
X-RateLimit-Limit |
Maximum requests per window |
X-RateLimit-Remaining |
Remaining requests |
X-RateLimit-Reset |
Seconds until reset |
Rate Limit Response
When rate limited (HTTP 429):
{
"Message": "Rate limit exceeded. Please wait before making more requests."
}
See references/examples.md for exponential-backoff retry and a sliding-window throttler.
Error Handling
HTTP Status Codes
| Code | Meaning | Action |
|---|---|---|
| 200 | Success | Process response |
| 201 | Created | Entity created successfully |
| 400 | Bad Request | Check request format/values |
| 401 | Unauthorized | Verify API key |
| 403 | Forbidden | Check permissions |
| 404 | Not Found | Entity doesn't exist |
| 429 | Rate Limited | Implement backoff |
| 500 | Server Error | Retry with backoff |
Error Response Format
{
"Message": "Error description here",
"ErrorCode": "SPECIFIC_ERROR_CODE"
}
See references/examples.md for a request wrapper that maps these statuses to actionable errors.
CRUD Operations
Atera does not use PUT. Updates are a POST to the entity's ID URL — the same verb as create, distinguished only by whether the URL carries an ID:
POST /api/v3/tickets # create
POST /api/v3/tickets/54321 # update
DELETE /api/v3/tickets/54321 # delete
Write responses return an ActionID alongside the entity ID rather than the full entity, so re-read the record if you need its post-write state.
See references/api.md for the complete endpoint catalog and full request/response shapes.
Performance Optimization
- Batch operations - group related requests, with a delay between batches
- Cache reference data - customers, contacts, and contracts change slowly
- Parallelize independent reads - but count them against the 700/min budget
See references/examples.md for batching, caching, and parallel-fetch implementations.
Related Skills
- Atera Tickets - Ticket management
- Atera Agents - Agent management
- Atera Customers - Customer management
- Atera Alerts - Alert management
- Atera Devices - Device monitors