From atera
Manages Atera customers and contacts via API: create, update, search records; handle info, custom fields, lifecycle ops. For MSP account management.
npx claudepluginhub wyre-technology/msp-claude-plugins --plugin ateraThis skill uses the workspace's default tool permissions.
Customers in Atera represent the organizations you provide IT services to. Each customer can have multiple contacts (end users), agents (managed devices), contracts, and associated tickets. Proper customer management is essential for organized service delivery.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Migrates code, prompts, and API calls from Claude Sonnet 4.0/4.5 or Opus 4.1 to Opus 4.5, updating model strings on Anthropic, AWS, GCP, Azure platforms.
Analyzes BMad project state from catalog CSV, configs, artifacts, and query to recommend next skills or answer questions. Useful for help requests, 'what next', or starting BMad.
Customers in Atera represent the organizations you provide IT services to. Each customer can have multiple contacts (end users), agents (managed devices), contracts, and associated tickets. Proper customer management is essential for organized service delivery.
| Field | Type | Required | Description |
|---|---|---|---|
CustomerID | int | System | Auto-generated unique identifier |
CustomerName | string | Yes | Company name |
BusinessNumber | string | No | Tax ID or business registration |
Domain | string | No | Primary email domain |
Address | string | No | Street address |
City | string | No | City name |
State | string | No | State/province |
Country | string | No | Country name |
ZipCodeStr | string | No | Postal/ZIP code |
Phone | string | No | Main phone number |
Fax | string | No | Fax number |
Notes | string | No | Internal notes |
Website | string | No | Company website URL |
| Field | Type | Description |
|---|---|---|
CreatedOn | datetime | Customer creation date |
LastModified | datetime | Last modification date |
| Field | Type | Required | Description |
|---|---|---|---|
EndUserID | int | System | Auto-generated unique identifier |
CustomerID | int | Yes | Parent customer ID |
CustomerName | string | System | Parent customer name |
FirstName | string | No | Contact first name |
LastName | string | No | Contact last name |
Email | string | Yes | Email address (unique) |
Phone | string | No | Phone number |
JobTitle | string | No | Job title/position |
IsContactPerson | boolean | No | Primary contact flag |
InIgnoreMode | boolean | No | Ignore emails from contact |
CreatedOn | datetime | System | Contact creation date |
GET /api/v3/customers?page=1&itemsInPage=50
X-API-KEY: {api_key}
Response:
{
"items": [
{
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"Domain": "acme.com",
"Address": "123 Main Street",
"City": "New York",
"State": "NY",
"Country": "United States",
"ZipCodeStr": "10001",
"Phone": "555-123-4567",
"Website": "https://www.acme.com",
"CreatedOn": "2023-01-15T10:00:00Z"
}
],
"totalItems": 150,
"page": 1,
"itemsInPage": 50,
"totalPages": 3
}
GET /api/v3/customers/{customerId}
X-API-KEY: {api_key}
Response:
{
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"BusinessNumber": "12-3456789",
"Domain": "acme.com",
"Address": "123 Main Street",
"City": "New York",
"State": "NY",
"Country": "United States",
"ZipCodeStr": "10001",
"Phone": "555-123-4567",
"Fax": "555-123-4568",
"Website": "https://www.acme.com",
"Notes": "Enterprise customer - 24/7 support",
"CreatedOn": "2023-01-15T10:00:00Z",
"LastModified": "2024-02-01T14:30:00Z"
}
POST /api/v3/customers
X-API-KEY: {api_key}
Content-Type: application/json
{
"CustomerName": "New Company Inc",
"Domain": "newcompany.com",
"Address": "456 Oak Avenue",
"City": "Chicago",
"State": "IL",
"Country": "United States",
"ZipCodeStr": "60601",
"Phone": "555-987-6543",
"Website": "https://www.newcompany.com",
"Notes": "Referred by Acme Corporation"
}
Response:
{
"ActionID": 67890,
"CustomerID": 67890,
"CustomerName": "New Company Inc"
}
POST /api/v3/customers/{customerId}
X-API-KEY: {api_key}
Content-Type: application/json
{
"Phone": "555-987-6544",
"Notes": "Updated contact information",
"Address": "789 New Street"
}
DELETE /api/v3/customers/{customerId}
X-API-KEY: {api_key}
Warning: Deleting a customer removes all associated data including contacts, agents, and tickets.
GET /api/v3/contacts?page=1&itemsInPage=50
X-API-KEY: {api_key}
Response:
{
"items": [
{
"EndUserID": 67890,
"CustomerID": 12345,
"CustomerName": "Acme Corporation",
"FirstName": "John",
"LastName": "Smith",
"Email": "john.smith@acme.com",
"Phone": "555-123-4567 x101",
"JobTitle": "IT Manager",
"IsContactPerson": true,
"CreatedOn": "2023-01-20T09:00:00Z"
}
],
"totalItems": 500,
"page": 1,
"itemsInPage": 50,
"totalPages": 10
}
GET /api/v3/contacts/{contactId}
X-API-KEY: {api_key}
POST /api/v3/contacts
X-API-KEY: {api_key}
Content-Type: application/json
{
"CustomerID": 12345,
"FirstName": "Jane",
"LastName": "Doe",
"Email": "jane.doe@acme.com",
"Phone": "555-123-4567 x102",
"JobTitle": "CFO",
"IsContactPerson": false
}
Response:
{
"ActionID": 77777,
"EndUserID": 77777
}
POST /api/v3/contacts/{contactId}
X-API-KEY: {api_key}
Content-Type: application/json
{
"Phone": "555-123-4567 x103",
"JobTitle": "COO",
"IsContactPerson": true
}
DELETE /api/v3/contacts/{contactId}
X-API-KEY: {api_key}
Atera supports custom fields for customers and contacts.
GET /api/v3/customvalues/customer/{customerId}
X-API-KEY: {api_key}
POST /api/v3/customvalues/customer/{customerId}
X-API-KEY: {api_key}
Content-Type: application/json
{
"FieldName": "ContractType",
"Value": "Managed Services"
}
DELETE /api/v3/customvalues/customer/{customerId}/{fieldName}
X-API-KEY: {api_key}
| Code | Message | Resolution |
|---|---|---|
| 400 | Invalid customer ID | Verify customer exists |
| 400 | Email already exists | Contact email must be unique |
| 401 | Unauthorized | Check API key |
| 403 | Forbidden | Verify permissions |
| 404 | Customer not found | Confirm customer ID |
| 429 | Rate limited | Wait and retry (700 req/min) |
| Error | Cause | Fix |
|---|---|---|
| Name required | Missing CustomerName | Add customer name |
| Email required | Missing contact email | Add email address |
| Invalid email | Malformed email address | Fix email format |
| Duplicate email | Email exists for another contact | Use unique email |
Customer (CustomerID)
│
├── Contacts (EndUserID)
│ └── Tickets (as EndUser)
│
├── Agents (AgentID)
│ └── Alerts
│
├── Contracts (ContractID)
│
└── Custom Values