Miridia
Portal
Sales

Customers

The customers operations of the Core API.

Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.

MethodPathOperation
GET/api/v1/CustomersGet all customers
POST/api/v1/CustomersCreate customer
POST/api/v1/Customers/{customerId}/attachmentsAdd 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}/contactsCreate 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-metricsGet kpi metrics
GET/api/v1/Customers/{customerId}/sales-analyticsGet sales data
PUT/api/v1/Customers/delete-customersBulk delete customers
GET/api/v1/Customers/{customerId}/tracesGet activity traces
POST/api/v1/Customers/{customerId}/tracesAdd activity trace
POST/api/v1/Customers/{customerId}/metadataAdd 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

NameInTypeRequiredDescription
Pagequeryinteger (int32)NoLimits: minimum 1.
PageSizequeryinteger (int32)NoLimits: minimum 1, maximum 100.
$orderbyquerystringNoExample: "created_at desc" or "name asc"
$filterquerystringNoApply 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'".
$searchquerystringNoProvide a search value which would inherit the 'CONTAINS' behaviour.

Response

200. Returns a PagedResult envelope. Each item in data is CustomerResponse.

Request
curl -X GET "https://api.miridia.io/api/v1/Customers" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "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.

FieldTypeRequiredDescription
contactsCreateContactCommand[]Yes
phoneNumberstring (tel)NoLimits: maximum 20 characters.
emailstring (email)NoLimits: maximum 50 characters.
websitestring (uri)NoLimits: maximum 100 characters.
isBusinessbooleanNo
businessNamestringNoLimits: maximum 100 characters.
titlestringNoLimits: maximum 100 characters.
groupIdstring (uuid)NoThe customer group this customer belongs to, if any. Used as a price-list assignment scope.
shippingAddressCreateAddressRequestYes
billingAddressCreateAddressRequestNo
additionalAddressesCreateAddressRequest[]No
dateCreatedstring (date-time)NoWhen the customer was created. Optional; defaults to now. Lets seeded/synthetic data show customer acquisition over time rather than all on seed day.
metadatamap<string, string>No

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (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.

FieldTypeRequiredDescription
typeenum MetadataAttachmentTypeNoOne of: File, Link.
fileIdstring (uuid)NoRequired when Type is File.
titlestringNoRequired when Type is Link. Ignored for File.
urlstringNoRequired when Type is Link. Ignored for File.
descriptionstringNo

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes
attachmentIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes
contactIdpathstring (uuid)Yes

Request body

Send JSON with the shape UpdateContactCommand.

FieldTypeRequiredDescription
idstring (uuid)No
customerIdstring (uuid)No
titlestringYesLimits: maximum 50 characters.
descriptionstringNoLimits: maximum 1000 characters.
firstNamestringYesLimits: maximum 50 characters.
lastNamestringNoLimits: maximum 50 characters.
emailstring (email)Yes
phoneNumberstring (tel)No
mobileNumberstring (tel)No

Response

200. Returns a SingleResult envelope. The data field is ContactResponse.

Request
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"
}'
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes
contactIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is ContactResponse.

Request
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"
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Request body

Send JSON with the shape CreateContactCommand.

FieldTypeRequiredDescription
idstring (uuid)No
customerIdstring (uuid)No
titlestringYesLimits: maximum 50 characters.
descriptionstringNoLimits: maximum 1000 characters.
firstNamestringYesLimits: maximum 50 characters.
lastNamestringNoLimits: maximum 50 characters.
emailstring (email)Yes
phoneNumberstring (tel)No
mobileNumberstring (tel)No

Response

200. Returns a SingleResult envelope. The data field is ContactResponse.

Request
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"
}'
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Request body

Send JSON with the shape UpdateCustomerRequest.

FieldTypeRequiredDescription
idstring (uuid)Yes
titlestringNo
shippingAddressUpdateAddressRequestNo
billingAddressUpdateAddressRequestNo
emailstring (email)YesLimits: maximum 100 characters.
websitestring (uri)NoLimits: maximum 100 characters.
phoneNumberstring (tel)YesLimits: maximum 20 characters.
isBusinessbooleanYes
groupIdstring (uuid)NoThe customer group this customer belongs to, if any. Used as a price-list assignment scope.
displayNamestringNoLimits: maximum 100 characters.
businessNamestringNoLimits: maximum 100 characters.

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
curl -X DELETE "https://api.miridia.io/api/v1/Customers/{customerId}" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is CustomerKpiMetricsResponse.

Request
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"
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Response

200. Returns a SingleResult envelope. The data field is CustomerDetailSalesHistoryWrapperResponse.

Request
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"
Response
{
  "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.

FieldTypeRequiredDescription
customersDeleteCustomerCommand[]Yes

Response

200. Returns a SingleResult envelope. The data field is boolean.

Request
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"
    }
  ]
}'
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Response

200. Returns a PagedResult envelope. Each item in data is ActivityTrace.

Request
curl -X GET "https://api.miridia.io/api/v1/Customers/{customerId}/traces" \
  -H "Authorization: Bearer $MIRIDIA_TOKEN" \
  -H "X-Business-Id: $MIRIDIA_BUSINESS_ID"
Response
{
  "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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Request body

Send JSON with the shape AddActivityTraceRequest.

FieldTypeRequiredDescription
titlestringYes
messagestringYes
codestringNo
sourcestringNo
actionLinkstringNo
levelenum NotificationLevelNoOne of: Standard, Info, Warning, Error, Success, Recommendation.
iconenum MdiIconNoOne 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.

Request
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

NameInTypeRequiredDescription
customerIdpathstring (uuid)Yes

Request body

Send JSON of type map<string, string>.

Response

200. Returns a SingleResult envelope. The data field is CustomerResponse.

Request
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.

FieldTypeDescription
idstring (uuid)
activityTypeenum ActivityTypeOne of: System, User.
userIdstring (uuid)
codestring
titlestring
messagestring
sourcestring
actionLinkstring
levelenum NotificationLevelOne of: Standard, Info, Warning, Error, Success, Recommendation.
dateOfActivitystring (date-time)
isDashboardOnlyboolean
iconenum MdiIconOne of: None, SyncAlert, Autorenew, Check, CheckMarkedCircle, AlertCircle, TruckDeliveryOutline, TruckFastOutline, PackageCheck, Warehouse, SwapHorizontal, AccountCheck, AccountRemove, AccountCancel, Delete.
AddressResponse
FieldTypeDescription
idstring (uuid)
placeIdstring
namestring
websitestring
fullAddressstring
streetstring
suburbstring
citystring
countrystring
postcodestring
unitstring
numberstring
provincestring
latitudenumber (double)
longitudenumber (double)
ContactResponse
FieldTypeDescription
idstring (uuid)
titlestring
descriptionstring
firstNamestring
lastNamestring
emailstring
phoneNumberstring
mobileNumberstring
CreateAddressRequest
FieldTypeDescription
placeIdstring (string)Limits: maximum 100 characters.
namestring (string)Limits: maximum 50 characters.
websitestring (uri)Limits: maximum 100 characters.
fullAddressstringLimits: maximum 500 characters.
streetstring (string)Limits: maximum 80 characters.
suburbstring (string)Limits: maximum 80 characters.
citystringLimits: maximum 80 characters.
countrystringLimits: maximum 80 characters.
postcodestring (postal-code)Limits: maximum 15 characters.
unitstringLimits: maximum 10 characters.
numberstring (postal-code)Limits: maximum 20 characters.
provincestring (string)Limits: maximum 80 characters.
latitudenumber (double)Limits: minimum -90, maximum 90.
longitudenumber (double)Limits: minimum -180, maximum 180.
CreateContactCommand
FieldTypeDescription
idstring (uuid)
customerIdstring (uuid)
titlestringLimits: maximum 50 characters.
descriptionstringLimits: maximum 1000 characters.
firstNamestringLimits: maximum 50 characters.
lastNamestringLimits: maximum 50 characters.
emailstring (email)
phoneNumberstring (tel)
mobileNumberstring (tel)
CurrencyResponse
FieldTypeDescription
iso4217string
utf8Symbolstring
currencyCodeenum CurrencyCodeOne of: Invalid, Eur, Usd, Gbp, Zar, Zmw.
CustomerDetailSalesHistoryResponse
FieldTypeDescription
salesinteger (int32)
valueOfSalesnumber (double)
datestring (date-time)
CustomerDetailSalesHistoryWrapperResponse
FieldTypeDescription
customerIdstring (uuid)
currencyCurrencyResponse
salesThisMonthinteger (int32)
salesSinceLastWeeknumber (double)
salesSinceLastMonthnumber (double)
itemsCustomerDetailSalesHistoryResponse[]
CustomerIntegrationProviderResponse
FieldTypeDescription
providerPrimitiveIntegrationProviderResponse
customerCustomerResponse
CustomerKpiMetricsResponse

Aggregated KPI metrics for a single customer.

FieldTypeDescription
totalOrdersinteger (int32)
totalRevenuenumber (double)
totalDeliveriesinteger (int32)
fulfillmentCostnumber (double)
rankByVolumeinteger (int32)1-based rank among all customers by order count (most orders = rank 1).
rankByValueinteger (int32)1-based rank among all customers by total spend (highest spend = rank 1).
CustomerResponse
FieldTypeDescription
idstring (uuid)
isBusinessboolean
titlestring
websitestring
emailstring
businessNamestring
groupIdstring (uuid)The customer group this customer belongs to, if any. Used as a price-list assignment scope.
phoneNumberstringThis 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.
integrationTypeenum IntegrationProviderTypeOne of: None, Commerce, Accounting, Erp, Crm, Fulfillment, Warehouse, WorkflowManager.
dateCreatedstring (date-time)
billingAddressAddressResponse
shippingAddressAddressResponse
integrationsCustomerIntegrationProviderResponse[]
contactsContactResponse[]
primaryContactContactResponse
parentCustomerResponse
attachmentsMetadataFileAttachment[]
totalSalesinteger (int32)
totalSpentnumber (double)
metadatamap<string, string>
DeleteCustomerCommand

Command to delete a customer.

FieldTypeDescription
customerIdstring (uuid)
MetadataFileAttachment

Not quite as complete as the normal FileAttachment aggregate.

FieldTypeDescription
idstring (uuid)
typeenum MetadataAttachmentTypeOne of: File, Link.
fileAttachmentIdstring (uuid)Left as Guid.Empty for Link entries.
titlestring
urlstring
contentTypestring
descriptionstring
PrimitiveIntegrationProviderResponse
FieldTypeDescription
configuredProviderIdstring (uuid)
idinteger (int32)
titlestring
descriptionstring
logoUrlstring
UpdateAddressRequest
FieldTypeDescription
idstring (uuid)
placeIdstring (string)Limits: maximum 100 characters.
namestring (string)Limits: maximum 50 characters.
websitestring (uri)Limits: maximum 100 characters.
fullAddressstringLimits: maximum 500 characters.
streetstring (string)Limits: maximum 80 characters.
suburbstring (string)Limits: maximum 80 characters.
citystringLimits: maximum 80 characters.
countrystringLimits: maximum 80 characters.
postcodestring (postal-code)Limits: maximum 15 characters.
unitstringLimits: maximum 10 characters.
numberstring (postal-code)Limits: maximum 20 characters.
provincestring (string)Limits: maximum 80 characters.
latitudenumber (double)Limits: minimum -90, maximum 90.
longitudenumber (double)Limits: minimum -180, maximum 180.