Miridia
Portal
Integrations

Integrations

The integrations operations of the Core API.

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

MethodPathOperation
POST/api/Integrations/{providerId}/configureConfigure integration
POST/api/Integrations/{configuredProviderId}/activateActivate configured provider
POST/api/Integrations/{configuredProviderId}/activate/callbackActivate configured provider callback
POST/api/Integrations/{configuredProviderId}/tokensUpdate configured provider tokens
DELETE/api/Integrations/{businessProviderId}Remove configured provider
GET/api/Integrations/{providerId}Get integration provider
GET/api/IntegrationsGet 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

NameInTypeRequiredDescription
providerIdpathinteger (int32)Yes

Request body

Send JSON with the shape PreConfigureIntegrationProviderCommand.

FieldTypeRequiredDescription
providerIdinteger (int32)No
configuredProviderIdstring (uuid)NoOptionally if the integration has been 'seeded' for the business
configurationValuesmap<string, string>No

Response

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

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

NameInTypeRequiredDescription
configuredProviderIdpathstring (uuid)Yes

Request body

Send JSON with the shape ActivateIntegrationProviderCommand.

FieldTypeRequiredDescription
configuredProviderIdstring (uuid)No
activationValuesmap<string, string>No

Response

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

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

NameInTypeRequiredDescription
configuredProviderIdpathstring (uuid)Yes

Request body

Send JSON with the shape ActivateIntegrationProviderCommand.

FieldTypeRequiredDescription
configuredProviderIdstring (uuid)No
activationValuesmap<string, string>No

Response

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

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

NameInTypeRequiredDescription
configuredProviderIdpathstring (uuid)Yes

Request body

Send JSON with the shape UpdateConfiguredProviderTokensCommand.

FieldTypeRequiredDescription
configuredProviderIdstring (uuid)No
accessTokenstringYes
refreshTokenstringNo
dateOfExpirationstring (date-time)No

Response

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

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

NameInTypeRequiredDescription
businessProviderIdpathstring (uuid)Yes

Response

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

Request
curl -X DELETE "https://api.miridia.io/api/Integrations/{businessProviderId}" \
  -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 integration provider

GET/api/Integrations/{providerId}

Access. Send a bearer token or an API key. The caller needs the Integrations view permission.

Parameters

NameInTypeRequiredDescription
providerIdpathinteger (int32)Yes
configuredProviderIdquerystring (uuid)No

Response

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

Request
curl -X GET "https://api.miridia.io/api/Integrations/{providerId}" \
  -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": 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.

Request
curl -X GET "https://api.miridia.io/api/Integrations" \
  -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": 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.

FieldTypeDescription
idstring (uuid)
activebooleanActive is true if the business provider is currently set as active
IntegrationProviderResponse
FieldTypeDescription
idinteger (int32)
titlestring
descriptionstring
logoUrlstring
isConfiguredbooleanActive is true if the provider is configured for the business
configuredProviderBusinessIntegrationProviderResponse
integrationTypeenum IntegrationTypeOne of: Unknown, OneClick, Plugin, Bespoke, ApiKey.
providerTypeenum IntegrationProviderTypeOne of: None, Commerce, Accounting, Erp, Crm, Fulfillment, Warehouse, WorkflowManager.
autoConfigureboolean
actionLinkstring
typestring
fieldsMetadataConfigurationValue[]
MetadataConfigurationValue
FieldTypeDescription
keystring
titlestring
isVisiblebooleanIf this is true, it should be surfaced to the dashboard...
isRequiredbooleanIf the user needs to provide this value when configuring the integration.
isSecretbooleanIf 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.
prefixMaskstring
suffixMaskstring
validationRegexstringIf there is regex to be applied to validate the value, it should be set here....
validationMessagestring
valuestringThe stored configuration value