Integrations
Base URL: https://api.miridia.io. Read Authentication and Conventions before you call these operations.
| Method | Path | Operation |
|---|---|---|
| POST | /api/Integrations/{providerId}/configure | Configure integration |
| POST | /api/Integrations/{configuredProviderId}/activate | Activate configured provider |
| POST | /api/Integrations/{configuredProviderId}/activate/callback | Activate configured provider callback |
| POST | /api/Integrations/{configuredProviderId}/tokens | Update configured provider tokens |
| DELETE | /api/Integrations/{businessProviderId} | Remove configured provider |
| GET | /api/Integrations/{providerId} | Get integration provider |
| GET | /api/Integrations | Get all integration providers |
Configure integration
POST/api/Integrations/{providerId}/configure
Access. Send a bearer token or an API key. The caller needs the Integrations modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
providerId | path | integer (int32) | Yes |
Request body
Send JSON with the shape PreConfigureIntegrationProviderCommand.
| Field | Type | Required | Description |
|---|---|---|---|
providerId | integer (int32) | No | |
configuredProviderId | string (uuid) | No | Optionally if the integration has been 'seeded' for the business |
configurationValues | map<string, string> | No |
Response
200. Returns a SingleResult envelope. The data field is IntegrationProviderResponse.
curl -X POST "https://api.miridia.io/api/Integrations/{providerId}/configure" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"providerId": 0,
"configuredProviderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"configurationValues": {
"key": "string"
}
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": 0,
"title": "string",
"description": "string",
"logoUrl": "string",
"isConfigured": true,
"configuredProvider": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"active": true
},
"integrationType": "OneClick",
"providerType": "Commerce",
"autoConfigure": true,
"actionLink": "string",
"type": "string",
"fields": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Activate configured provider
POST/api/Integrations/{configuredProviderId}/activate
Access. Send a bearer token or an API key. The caller needs the Integrations modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
configuredProviderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape ActivateIntegrationProviderCommand.
| Field | Type | Required | Description |
|---|---|---|---|
configuredProviderId | string (uuid) | No | |
activationValues | map<string, string> | No |
Response
200. Returns a SingleResult envelope. The data field is IntegrationProviderResponse.
curl -X POST "https://api.miridia.io/api/Integrations/{configuredProviderId}/activate" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"configuredProviderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"activationValues": {
"key": "string"
}
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": 0,
"title": "string",
"description": "string",
"logoUrl": "string",
"isConfigured": true,
"configuredProvider": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"active": true
},
"integrationType": "OneClick",
"providerType": "Commerce",
"autoConfigure": true,
"actionLink": "string",
"type": "string",
"fields": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Activate configured provider callback
POST/api/Integrations/{configuredProviderId}/activate/callback
OAuth callback activation endpoint for service-to-service calls (e.g. Authenticates via X-Service-Token header instead of a business API key. The business context is resolved from configuredProviderId so this endpoint is not tied to any specific business.
Access. Authenticate with a service token in the X-Service-Token header. Only a Miridia connector calls this operation.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
configuredProviderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape ActivateIntegrationProviderCommand.
| Field | Type | Required | Description |
|---|---|---|---|
configuredProviderId | string (uuid) | No | |
activationValues | map<string, string> | No |
Response
200. Returns a SingleResult envelope. The data field is IntegrationProviderResponse.
curl -X POST "https://api.miridia.io/api/Integrations/{configuredProviderId}/activate/callback" \
-H "X-Service-Token: $MIRIDIA_SERVICE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"configuredProviderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"activationValues": {
"key": "string"
}
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": {
"id": 0,
"title": "string",
"description": "string",
"logoUrl": "string",
"isConfigured": true,
"configuredProvider": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"active": true
},
"integrationType": "OneClick",
"providerType": "Commerce",
"autoConfigure": true,
"actionLink": "string",
"type": "string",
"fields": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Update configured provider tokens
POST/api/Integrations/{configuredProviderId}/tokens
Token refresh callback for workflow functions. Authentication uses the standard API-key header so the function can authenticate as the business.
Access. Send a bearer token or an API key. The caller needs the Integrations modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
configuredProviderId | path | string (uuid) | Yes |
Request body
Send JSON with the shape UpdateConfiguredProviderTokensCommand.
| Field | Type | Required | Description |
|---|---|---|---|
configuredProviderId | string (uuid) | No | |
accessToken | string | Yes | |
refreshToken | string | No | |
dateOfExpiration | string (date-time) | No |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X POST "https://api.miridia.io/api/Integrations/{configuredProviderId}/tokens" \
-H "Authorization: Bearer $MIRIDIA_TOKEN" \
-H "X-Business-Id: $MIRIDIA_BUSINESS_ID" \
-H "Content-Type: application/json" \
-d '{
"configuredProviderId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"accessToken": "string",
"refreshToken": "string",
"dateOfExpiration": "2026-09-29T08:00:00Z"
}'{
"message": "string",
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
],
"data": true,
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Remove configured provider
DELETE/api/Integrations/{businessProviderId}
Access. Send a bearer token or an API key. The caller needs the Integrations modify permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
businessProviderId | path | string (uuid) | Yes |
Response
200. Returns a SingleResult envelope. The data field is boolean.
curl -X DELETE "https://api.miridia.io/api/Integrations/{businessProviderId}" \
-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 integration provider
GET/api/Integrations/{providerId}
Access. Send a bearer token or an API key. The caller needs the Integrations view permission.
Parameters
| Name | In | Type | Required | Description |
|---|---|---|---|---|
providerId | path | integer (int32) | Yes | |
configuredProviderId | query | string (uuid) | No |
Response
200. Returns a SingleResult envelope. The data field is IntegrationProviderResponse.
curl -X GET "https://api.miridia.io/api/Integrations/{providerId}" \
-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": 0,
"title": "string",
"description": "string",
"logoUrl": "string",
"isConfigured": true,
"configuredProvider": {
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"active": true
},
"integrationType": "OneClick",
"providerType": "Commerce",
"autoConfigure": true,
"actionLink": "string",
"type": "string",
"fields": [
{}
]
},
"statusCode": "OK",
"canRead": true,
"canEdit": true,
"canDelete": true
}Get all integration providers
GET/api/Integrations
Returns every available integration provider except fulfillment providers (which have a richer configuration model and live under /api/fulfillment/providers).
Access. Send a bearer token or an API key. The caller needs the Integrations view permission.
Response
200. Returns a PagedResult envelope. Each item in data is IntegrationProviderResponse.
curl -X GET "https://api.miridia.io/api/Integrations" \
-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": 0,
"title": "string",
"description": "string",
"logoUrl": "string",
"isConfigured": true,
"configuredProvider": {},
"integrationType": "OneClick",
"providerType": "Commerce",
"autoConfigure": true,
"actionLink": "string",
"type": "string",
"fields": [
{}
]
}
],
"messages": [
{
"title": "string",
"message": "string",
"level": "Standard",
"icon": "SyncAlert",
"code": "string"
}
]
}Models
The operations on this page use these object types. Select a type to see its fields.
BusinessIntegrationProviderResponse
Returns the combined values of the RootECommerceProvider and the BusinessECommerceProvider entities.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
active | boolean | Active is true if the business provider is currently set as active |
IntegrationProviderResponse
| Field | Type | Description |
|---|---|---|
id | integer (int32) | |
title | string | |
description | string | |
logoUrl | string | |
isConfigured | boolean | Active is true if the provider is configured for the business |
configuredProvider | BusinessIntegrationProviderResponse | |
integrationType | enum IntegrationType | One of: Unknown, OneClick, Plugin, Bespoke, ApiKey. |
providerType | enum IntegrationProviderType | One of: None, Commerce, Accounting, Erp, Crm, Fulfillment, Warehouse, WorkflowManager. |
autoConfigure | boolean | |
actionLink | string | |
type | string | |
fields | MetadataConfigurationValue[] |
MetadataConfigurationValue
| Field | Type | Description |
|---|---|---|
key | string | |
title | string | |
isVisible | boolean | If this is true, it should be surfaced to the dashboard... |
isRequired | boolean | If the user needs to provide this value when configuring the integration. |
isSecret | boolean | If this is true, it should be returned as a marked value in the API response. We will show the first 5 characters and last 3 characters and remove the rest for security purposes. |
prefixMask | string | |
suffixMask | string | |
validationRegex | string | If there is regex to be applied to validate the value, it should be set here.... |
validationMessage | string | |
value | string | The stored configuration value |