Customers API
Manage customer profiles, sync external CRM entities, retrieve customer history, and issue customer portal identities within your tenant.
Auto-Provisioning: Inbound emails from unregistered addresses automatically provision customer records linked to the corresponding tenant when enabled in email settings.
Creates a new customer profile. Customers can subsequently submit tickets via the Customer Portal API or send authenticated emails.
Create CustomerAuth
Register a new customer profile with contact information and custom metadata.
Payload Example
{
"email": "alice@acme.com",
"name": "Alice Smith",
"phone": "+61 2 9876 5432",
"company": "Acme Corporation",
"external_id": "crm_usr_99812",
"metadata": {
"tier": "enterprise",
"region": "ap-southeast-2"
}
}Status Codes
- Name
201- Type
- HTTP
- Description
- Customer created successfully
- Name
400- Type
- HTTP
- Description
- Invalid email format or missing required fields
- Name
409- Type
- HTTP
- Description
- Customer with this email already exists in tenant
Request Parameters
- Name
email- Type
- string
- Required
- Description
- Valid customer email address (unique within tenant).
- Name
name- Type
- string
- Required
- Description
- Customer full display name.
- Name
phone- Type
- string
- Description
- Optional contact telephone number.
- Name
company- Type
- string
- Description
- Organization or employer company name.
- Name
external_id- Type
- string
- Description
- External CRM identifier or third-party primary key for cross-system syncing.
- Name
metadata- Type
- object
- Description
- Arbitrary key-value JSON object for custom customer attributes.
Searches customer records by keyword match across name, email, and company, or lists records with pagination.
List & Search CustomersAuth
Query customer profiles with search, company filters, and pagination.
Status Codes
- Name
200- Type
- HTTP
- Description
- Customer list returned successfully
- Name
401- Type
- HTTP
- Description
- Unauthorized - missing or invalid agent token
Query Parameters
- Name
search- Type
- string
- Description
- Case-insensitive search query matched against name, email, and company.
- Name
company- Type
- string
- Description
- Exact company name filter.
- Name
page- Type
- integer
- Example
- eg. 1
- Description
- Page number for pagination (defaults to 1).
- Name
per_page- Type
- integer
- Example
- eg. 20
- Description
- Number of items per page (1–100, defaults to 20).
Fetches detailed customer information including recent ticket interaction count and metadata attributes.
Get CustomerAuth
Retrieve complete customer profile and contact records by UUID.
Status Codes
- Name
200- Type
- HTTP
- Description
- Customer profile returned
- Name
404- Type
- HTTP
- Description
- Customer not found in this tenant
Updates customer contact information, phone, company, or custom metadata.
Update CustomerAuth
Update customer details, metadata, or organization assignment.
Payload Example
{
"name": "Alice Smith-Jones",
"phone": "+61 2 9999 8888",
"company": "Acme Holdings",
"metadata": {
"tier": "enterprise_plus"
}
}Status Codes
- Name
200- Type
- HTTP
- Description
- Customer updated successfully
- Name
404- Type
- HTTP
- Description
- Customer not found