Reading the MSP’s organization ID from your service

When the MSP administrator opens the connection setup form in the Acronis management portal, enters the credentials required by the application and attempts to enable the application, Acronis Cyber Platform securely stores the credentials and sends a POST request to the callback handler asking for the organization ID that uses these credentials in the ISV’s service.

The callback request will:

  • Specify the cti.a.p.acgw.callback.v1.0~a.p.enablement.read.v1.0 callback identifier.

  • Specify the cti.a.p.acgw.request.v1.0~a.p.empty.v1.0 callback request type.

  • Omit the payload field.

The request can be represented with the following cURL command:

curl -i -s -X POST <callback_handler_url> \
    --header 'Content-Type: application/json' \
    --header 'Authorization: Bearer <jwt>' \
    --header 'X-CyberApp-Auth: base64(<identity>:<secret>)' \
    --header 'X-CyberApp-Extra: base64(<json_extra_data>)' \
    --data '{"type": "cti.a.p.acgw.request.v1.0~a.p.empty.v1.0", "request_id": "<request_id>", "created_at": "2023-04-10T15:33:01+00:00", "context": {"callback_id": "cti.a.p.acgw.callback.v1.0~a.p.enablement.read.v1.0", "endpoint_id": "<endpoint_id>", "tenant_id": "<acronis_tenant_id>", "datacenter_url": "<acronis_datacenter_url>"}}'

The callback response code must be 200 and the response body must:

  • Specify the cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0 response type.

  • Include the payload field with the MSP’s organization ID that corresponds to the credentials provided in the connection setup form and, if present, an Acronis tenant ID that was mapped to it.

When the application was not previously enabled, the payload field must include only the MSP’s organization ID:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
<...>

{
    "type": "cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0",
    "request_id": "<request_id>",
    "response_id": "<response_id>",
    "payload": {
        "vendor_tenant_id": "<vendor_msp_organization_id>"
    }
}

When the application was already enabled, the payload field must also include the mapped Acronis tenant ID for this organization ID:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
<...>

{
    "type": "cti.a.p.acgw.response.v1.0~a.p.enablement.read.ok.v1.0",
    "request_id": "<request_id>",
    "response_id": "<response_id>",
    "payload": {
        "vendor_tenant_id": "<vendor_msp_organization_id>",
        "acronis_tenant_id": "<acronis_msp_tenant_id>"
    }
}