Customers
Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.
| Method | Path | Operation |
|---|---|---|
| GET | /api/v1/Customers | Get all customers |
| POST | /api/v1/Customers | Create customer |
| POST | /api/v1/Customers/{customerId}/attachments | Add customer file attachment |
| DELETE | /api/v1/Customers/{customerId}/attachments/{attachmentId} | Remove customer file attachment |
| PUT | /api/v1/Customers/{customerId}/contacts/{contactId} | Update customer contact |
| DELETE | /api/v1/Customers/{customerId}/contacts/{contactId} | Delete customer contact |
| POST | /api/v1/Customers/{customerId}/contacts | Create customer contact |
| GET | /api/v1/Customers/{customerId} | Get customer |
| PUT | /api/v1/Customers/{customerId} | Update customer |
| DELETE | /api/v1/Customers/{customerId} | Delete customer |
| GET | /api/v1/Customers/{customerId}/kpi-metrics | Get kpi metrics |
| GET | /api/v1/Customers/{customerId}/sales-analytics | Get sales data |
| PUT | /api/v1/Customers/delete-customers | Bulk delete customers |
| GET | /api/v1/Customers/{customerId}/traces | Get activity traces |
| POST | /api/v1/Customers/{customerId}/traces | Add activity trace |
| POST | /api/v1/Customers/{customerId}/metadata | Add customer metadata |
Get all customers
GET/api/v1/Customers
Access. Send a bearer token or an API key. The caller needs the Customers view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
Page | query | integer (int32) | No | Limits: minimum 1. |
PageSize | query | integer (int32) | No | Limits: minimum 1, maximum 100. |
$orderby | query | string | No | Example: "created_at desc" or "name asc" |
$filter | query | string | No | Apply a ODATA style filter to the query to add a fixed constraint. For example, if you want to filter by the creation date, you would set the filter to "created_at ge 2022-01-01". Or if you want to filter by a specific status, you would set the filter to "status eq 'active'". |
$search | query | string | No | Provide a search value which would inherit the 'CONTAINS' behaviour. |
Response
200. Returns a PagedResult envelope. Each item in data is CustomerResponse.
curl -X GET "https://api.miridia.io/api/v1/Customers" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"count": 0,
"totalCount": 0,
"page": 0,
"finalPage": 0,
"pageSize": 0,
"hasMore": true,
"statusCode": "OK",
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"isBusiness": true,
"title": "string",
"website": "string",
"email": "string",
"businessName": "string",
"groupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"phoneNumber": "string",
"integrationType": "Commerce",
"dateCreated": "2026-09-29T08:00:00Z",
"billingAddress": {},
"shippingAddress": {},
"integrations": [
{}
],
"contacts": [
{}
],
"primaryContact": {},
"parent": {},
"attachments": [
{}
],
"totalSales": 0,
"totalSpent": 0,
"metadata": {
"key": "string"
}
}
],
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
]
}Create customer
POST/api/v1/Customers
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Request body
Send JSON with the shape CreateCustomerRequest.
| Field | Type | Required | Description |
|---|---|---|---|
contacts | CreateContactCommand[] | Yes | |
phoneNumber | string (tel) | No | Limits: maximum 20 characters. |
email | string (email) | No | Limits: maximum 50 characters. |
website | string (uri) | No | Limits: maximum 100 characters. |
isBusiness | boolean | No | |
businessName | string | No | Limits: maximum 100 characters. |
title | string | No | Limits: maximum 100 characters. |
groupId | string (uuid) | No | The customer group this customer belongs to, if any. Used as a price-list assignment scope. |
shippingAddress | CreateAddressRequest | Yes | |
billingAddress | CreateAddressRequest | No | |
additionalAddresses | CreateAddressRequest[] | No | |
dateCreated | string (date-time) | No | When the customer was created. Optional; defaults to now. Lets seeded/synthetic data show customer acquisition over time rather than all on seed day. |
metadata | map<string, string> | No |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X POST "https://api.miridia.io/api/v1/Customers" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"contacts": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "name@example.com",
"phoneNumber": "string",
"mobileNumber": "string"
}
],
"phoneNumber": "string",
"email": "name@example.com",
"website": "https://example.com",
"isBusiness": true,
"businessName": "string",
"title": "string",
"groupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"shippingAddress": {
"placeId": "string",
"name": "string",
"website": "https://example.com",
"fullAddress": "string",
"street": "string",
"suburb": "string",
"city": "string",
"country": "string",
"postcode": "string",
"unit": "string",
"number": "string",
"province": "string",
"latitude": 0,
"longitude": 0
},
"billingAddress": {
"placeId": "string",
"name": "string",
"website": "https://example.com",
"fullAddress": "string",
"street": "string",
"suburb": "string",
"city": "string",
"country": "string",
"postcode": "string",
"unit": "string",
"number": "string",
"province": "string",
"latitude": 0,
"longitude": 0
},
"additionalAddresses": [
{
"placeId": "string",
"name": "string",
"website": "https://example.com",
"fullAddress": "string",
"street": "string",
"suburb": "string",
"city": "string",
"country": "string",
"postcode": "string",
"unit": "string",
"number": "string",
"province": "string",
"latitude": 0,
"longitude": 0
}
],
"dateCreated": "2026-09-29T08:00:00Z",
"metadata": {
"key": "string"
}
}'Add customer file attachment
POST/api/v1/Customers/{customerId}/attachments
Step 2 of file attachment: associates a previously uploaded file (or a bare external link) with this customer. Upload the file first via POST /api/files/single, then pass the returned FileAttachment id here. Or pass Type=Link with Title+Url for a link with no backing file.
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Request body
Send JSON with the shape AddFileAttachmentRequest. Adds an attachment to an entity's metadata attachment collection. Two shapes, discriminated by Type: - File (default). title and url are required and taken as-is from the request; FileAttachmentId on the resulting metadata entry stays Guid.Empty.
| Field | Type | Required | Description |
|---|---|---|---|
type | enum MetadataAttachmentType | No | One of: File, Link. |
fileId | string (uuid) | No | Required when Type is File. |
title | string | No | Required when Type is Link. Ignored for File. |
url | string | No | Required when Type is Link. Ignored for File. |
description | string | No |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X POST "https://api.miridia.io/api/v1/Customers/{customerId}/attachments" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"type": "File",
"fileId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"url": "string",
"description": "string"
}'Remove customer file attachment
DELETE/api/v1/Customers/{customerId}/attachments/{attachmentId}
Removes a previously associated attachment (file or link) from this customer by its metadata attachment entry id.
Access. Send a bearer token or an API key. The caller needs the Customers delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes | |
attachmentId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X DELETE "https://api.miridia.io/api/v1/Customers/{customerId}/attachments/{attachmentId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"Update customer contact
PUT/api/v1/Customers/{customerId}/contacts/{contactId}
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes | |
contactId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdateContactCommand.
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | |
customerId | string (uuid) | No | |
title | string | Yes | Limits: maximum 50 characters. |
description | string | No | Limits: maximum 1000 characters. |
firstName | string | Yes | Limits: maximum 50 characters. |
lastName | string | No | Limits: maximum 50 characters. |
email | string (email) | Yes | |
phoneNumber | string (tel) | No | |
mobileNumber | string (tel) | No |
Response
200. Returns a SingleResult envelope. The data field is ContactResponse.
curl -X PUT "https://api.miridia.io/api/v1/Customers/{customerId}/contacts/{contactId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "name@example.com",
"phoneNumber": "string",
"mobileNumber": "string"
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"mobileNumber": "string"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Delete customer contact
DELETE/api/v1/Customers/{customerId}/contacts/{contactId}
Access. Send a bearer token or an API key. The caller needs the Customers delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes | |
contactId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is ContactResponse.
curl -X DELETE "https://api.miridia.io/api/v1/Customers/{customerId}/contacts/{contactId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"mobileNumber": "string"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Create customer contact
POST/api/v1/Customers/{customerId}/contacts
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Request body
Send JSON with the shape CreateContactCommand.
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | No | |
customerId | string (uuid) | No | |
title | string | Yes | Limits: maximum 50 characters. |
description | string | No | Limits: maximum 1000 characters. |
firstName | string | Yes | Limits: maximum 50 characters. |
lastName | string | No | Limits: maximum 50 characters. |
email | string (email) | Yes | |
phoneNumber | string (tel) | No | |
mobileNumber | string (tel) | No |
Response
200. Returns a SingleResult envelope. The data field is ContactResponse.
curl -X POST "https://api.miridia.io/api/v1/Customers/{customerId}/contacts" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "name@example.com",
"phoneNumber": "string",
"mobileNumber": "string"
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"description": "string",
"firstName": "string",
"lastName": "string",
"email": "string",
"phoneNumber": "string",
"mobileNumber": "string"
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get customer
GET/api/v1/Customers/{customerId}
Access. Send a bearer token or an API key. The caller needs the Customers view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X GET "https://api.miridia.io/api/v1/Customers/{customerId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"Update customer
PUT/api/v1/Customers/{customerId}
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdateCustomerRequest.
| Field | Type | Required | Description |
|---|---|---|---|
id | string (uuid) | Yes | |
title | string | No | |
shippingAddress | UpdateAddressRequest | No | |
billingAddress | UpdateAddressRequest | No | |
email | string (email) | Yes | Limits: maximum 100 characters. |
website | string (uri) | No | Limits: maximum 100 characters. |
phoneNumber | string (tel) | Yes | Limits: maximum 20 characters. |
isBusiness | boolean | Yes | |
groupId | string (uuid) | No | The customer group this customer belongs to, if any. Used as a price-list assignment scope. |
displayName | string | No | Limits: maximum 100 characters. |
businessName | string | No | Limits: maximum 100 characters. |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X PUT "https://api.miridia.io/api/v1/Customers/{customerId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"title": "string",
"shippingAddress": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"placeId": "string",
"name": "string",
"website": "https://example.com",
"fullAddress": "string",
"street": "string",
"suburb": "string",
"city": "string",
"country": "string",
"postcode": "string",
"unit": "string",
"number": "string",
"province": "string",
"latitude": 0,
"longitude": 0
},
"billingAddress": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"placeId": "string",
"name": "string",
"website": "https://example.com",
"fullAddress": "string",
"street": "string",
"suburb": "string",
"city": "string",
"country": "string",
"postcode": "string",
"unit": "string",
"number": "string",
"province": "string",
"latitude": 0,
"longitude": 0
},
"email": "name@example.com",
"website": "https://example.com",
"phoneNumber": "string",
"isBusiness": true,
"groupId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"displayName": "string",
"businessName": "string"
}'Delete customer
DELETE/api/v1/Customers/{customerId}
Access. Send a bearer token or an API key. The caller needs the Customers delete permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/v1/Customers/{customerId}" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get kpi metrics
GET/api/v1/Customers/{customerId}/kpi-metrics
Returns aggregated KPI metrics for a customer: total orders, total revenue, total deliveries, fulfillment cost, and the customer's rank by order volume and by spend.
Access. Send a bearer token or an API key. The caller needs the Customers view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is CustomerKpiMetricsResponse.
curl -X GET "https://api.miridia.io/api/v1/Customers/{customerId}/kpi-metrics" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"totalOrders": 0,
"totalRevenue": 0,
"totalDeliveries": 0,
"fulfillmentCost": 0,
"rankByVolume": 0,
"rankByValue": 0
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get sales data
GET/api/v1/Customers/{customerId}/sales-analytics
Access. Send a bearer token or an API key. The caller needs the Customers view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is CustomerDetailSalesHistoryWrapperResponse.
curl -X GET "https://api.miridia.io/api/v1/Customers/{customerId}/sales-analytics" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"currency": {
"iso4217": "string",
"utf8Symbol": "string",
"currencyCode": "Eur"
},
"salesThisMonth": 0,
"salesSinceLastWeek": 0,
"salesSinceLastMonth": 0,
"items": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Bulk delete customers
PUT/api/v1/Customers/delete-customers
Access. Send a bearer token or an API key. The caller needs the Customers delete permission.
Request body
Send JSON with the shape CustomerBulkDeleteCommand.
| Field | Type | Required | Description |
|---|---|---|---|
customers | DeleteCustomerCommand[] | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X PUT "https://api.miridia.io/api/v1/Customers/delete-customers" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"customers": [
{
"customerId": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
]
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get activity traces
GET/api/v1/Customers/{customerId}/traces
Get customer activity traces
Access. Send a bearer token or an API key. The caller needs the Customers view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Response
200. Returns a PagedResult envelope. Each item in data is ActivityTrace.
curl -X GET "https://api.miridia.io/api/v1/Customers/{customerId}/traces" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID"{
"count": 0,
"totalCount": 0,
"page": 0,
"finalPage": 0,
"pageSize": 0,
"hasMore": true,
"statusCode": "OK",
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"activityType": "System",
"userId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"code": "string",
"title": "string",
"message": "string",
"source": "string",
"actionLink": "string",
"level": "Standard",
"dateOfActivity": "2026-09-29T08:00:00Z",
"isDashboardOnly": true,
"icon": "SyncAlert"
}
],
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
]
}Add activity trace
POST/api/v1/Customers/{customerId}/traces
Add an activity trace to a customer
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Request body
Send JSON with the shape AddActivityTraceRequest.
| Field | Type | Required | Description |
|---|---|---|---|
title | string | Yes | |
message | string | Yes | |
code | string | No | |
source | string | No | |
actionLink | string | No | |
level | enum NotificationLevel | No | One of: Standard, Info, Warning, Error, Success, Recommendation. |
icon | enum MdiIcon | No | One of: None, SyncAlert, Autorenew, Check, CheckMarkedCircle, AlertCircle, TruckDeliveryOutline, TruckFastOutline, PackageCheck, Warehouse, SwapHorizontal, AccountCheck, AccountRemove, AccountCancel, Delete. |
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X POST "https://api.miridia.io/api/v1/Customers/{customerId}/traces" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"title": "string",
"message": "string",
"code": "string",
"source": "string",
"actionLink": "string",
"level": "Standard",
"icon": "SyncAlert"
}'Add customer metadata
POST/api/v1/Customers/{customerId}/metadata
Merges the provided key/value pairs into the customer's free-form metadata dictionary. A non-null value adds or overwrites the key; a null value removes the key.
Access. Send a bearer token or an API key. The caller needs the Customers modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
customerId | path | string (uuid) | Yes |
Request body
Send JSON of type map<string, string>.
Response
200. Returns a SingleResult envelope. The data field is CustomerResponse.
curl -X POST "https://api.miridia.io/api/v1/Customers/{customerId}/metadata" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"key": "string"
}'Models
The operations on this page use these object types. Select a type to see its fields.
ActivityTrace
Refer to ActionMessage. An activity trace becomes an action message once the response to the client is sent.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
activityType | enum ActivityType | One of: System, User. |
userId | string (uuid) | |
code | string | |
title | string | |
message | string | |
source | string | |
actionLink | string | |
level | enum NotificationLevel | One of: Standard, Info, Warning, Error, Success, Recommendation. |
dateOfActivity | string (date-time) | |
isDashboardOnly | boolean | |
icon | enum MdiIcon | One of: None, SyncAlert, Autorenew, Check, CheckMarkedCircle, AlertCircle, TruckDeliveryOutline, TruckFastOutline, PackageCheck, Warehouse, SwapHorizontal, AccountCheck, AccountRemove, AccountCancel, Delete. |
AddressResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
placeId | string | |
name | string | |
website | string | |
fullAddress | string | |
street | string | |
suburb | string | |
city | string | |
country | string | |
postcode | string | |
unit | string | |
number | string | |
province | string | |
latitude | number (double) | |
longitude | number (double) |
ContactResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
title | string | |
description | string | |
firstName | string | |
lastName | string | |
email | string | |
phoneNumber | string | |
mobileNumber | string |
CreateAddressRequest
| Field | Type | Description |
|---|---|---|
placeId | string (string) | Limits: maximum 100 characters. |
name | string (string) | Limits: maximum 50 characters. |
website | string (uri) | Limits: maximum 100 characters. |
fullAddress | string | Limits: maximum 500 characters. |
street | string (string) | Limits: maximum 80 characters. |
suburb | string (string) | Limits: maximum 80 characters. |
city | string | Limits: maximum 80 characters. |
country | string | Limits: maximum 80 characters. |
postcode | string (postal-code) | Limits: maximum 15 characters. |
unit | string | Limits: maximum 10 characters. |
number | string (postal-code) | Limits: maximum 20 characters. |
province | string (string) | Limits: maximum 80 characters. |
latitude | number (double) | Limits: minimum -90, maximum 90. |
longitude | number (double) | Limits: minimum -180, maximum 180. |
CreateContactCommand
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
customerId | string (uuid) | |
title | string | Limits: maximum 50 characters. |
description | string | Limits: maximum 1000 characters. |
firstName | string | Limits: maximum 50 characters. |
lastName | string | Limits: maximum 50 characters. |
email | string (email) | |
phoneNumber | string (tel) | |
mobileNumber | string (tel) |
CurrencyResponse
| Field | Type | Description |
|---|---|---|
iso4217 | string | |
utf8Symbol | string | |
currencyCode | enum CurrencyCode | One of: Invalid, Eur, Usd, Gbp, Zar, Zmw. |
CustomerDetailSalesHistoryResponse
| Field | Type | Description |
|---|---|---|
sales | integer (int32) | |
valueOfSales | number (double) | |
date | string (date-time) |
CustomerDetailSalesHistoryWrapperResponse
| Field | Type | Description |
|---|---|---|
customerId | string (uuid) | |
currency | CurrencyResponse | |
salesThisMonth | integer (int32) | |
salesSinceLastWeek | number (double) | |
salesSinceLastMonth | number (double) | |
items | CustomerDetailSalesHistoryResponse[] |
CustomerIntegrationProviderResponse
| Field | Type | Description |
|---|---|---|
provider | PrimitiveIntegrationProviderResponse | |
customer | CustomerResponse |
CustomerKpiMetricsResponse
Aggregated KPI metrics for a single customer.
| Field | Type | Description |
|---|---|---|
totalOrders | integer (int32) | |
totalRevenue | number (double) | |
totalDeliveries | integer (int32) | |
fulfillmentCost | number (double) | |
rankByVolume | integer (int32) | 1-based rank among all customers by order count (most orders = rank 1). |
rankByValue | integer (int32) | 1-based rank among all customers by total spend (highest spend = rank 1). |
CustomerResponse
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
isBusiness | boolean | |
title | string | |
website | string | |
email | string | |
businessName | string | |
groupId | string (uuid) | The customer group this customer belongs to, if any. Used as a price-list assignment scope. |
phoneNumber | string | This would generally represent the phone number for the customer if the customer is a business. Otherwise, the contact details should be part of the contact, and not the customer. Limits: maximum 20 characters. |
integrationType | enum IntegrationProviderType | One of: None, Commerce, Accounting, Erp, Crm, Fulfillment, Warehouse, WorkflowManager. |
dateCreated | string (date-time) | |
billingAddress | AddressResponse | |
shippingAddress | AddressResponse | |
integrations | CustomerIntegrationProviderResponse[] | |
contacts | ContactResponse[] | |
primaryContact | ContactResponse | |
parent | CustomerResponse | |
attachments | MetadataFileAttachment[] | |
totalSales | integer (int32) | |
totalSpent | number (double) | |
metadata | map<string, string> |
DeleteCustomerCommand
Command to delete a customer.
| Field | Type | Description |
|---|---|---|
customerId | string (uuid) |
MetadataFileAttachment
Not quite as complete as the normal FileAttachment aggregate.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
type | enum MetadataAttachmentType | One of: File, Link. |
fileAttachmentId | string (uuid) | Left as Guid.Empty for Link entries. |
title | string | |
url | string | |
contentType | string | |
description | string |
PrimitiveIntegrationProviderResponse
| Field | Type | Description |
|---|---|---|
configuredProviderId | string (uuid) | |
id | integer (int32) | |
title | string | |
description | string | |
logoUrl | string |
UpdateAddressRequest
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
placeId | string (string) | Limits: maximum 100 characters. |
name | string (string) | Limits: maximum 50 characters. |
website | string (uri) | Limits: maximum 100 characters. |
fullAddress | string | Limits: maximum 500 characters. |
street | string (string) | Limits: maximum 80 characters. |
suburb | string (string) | Limits: maximum 80 characters. |
city | string | Limits: maximum 80 characters. |
country | string | Limits: maximum 80 characters. |
postcode | string (postal-code) | Limits: maximum 15 characters. |
unit | string | Limits: maximum 10 characters. |
number | string (postal-code) | Limits: maximum 20 characters. |
province | string (string) | Limits: maximum 80 characters. |
latitude | number (double) | Limits: minimum -90, maximum 90. |
longitude | number (double) | Limits: minimum -180, maximum 180. |