Create or Update Interaction Type (ARM)

[This topic is pre-release documentation and is subject to change.]

Either creates a new Interaction type or updates the type if it already exists.


The request is constructed as follows:

HTTP Verb Request URI

URI Parameters

URI Parameter Required Description
subId Yes Subscription ID
rgName Yes Azure region name
hubName Yes Name of your Customer Insights Hub
interactionName Yes Name of the Interaction to update/create

Request Body

A JSON object describing a Interaction type, for example:

    "idPropertyNames": ["TestInteractionType6358"],
    "primaryParticipantProfilePropertyName": "profile1",
    "apiEntitySetName": "TestInteractionType6358",
    "fields": [{
        "fieldName": "TestInteractionType6358",
        "fieldType": "Edm.String",
        "isArray": false,
        "isRequired": true
        "fieldName": "profile1",
        "fieldType": "Edm.String"
    "smallImage": "\\\\Images\\\\smallImage",
    "largeImage": "\\\\Images\\\\LargeImage"


The response includes an HTTP status code and a set of response headers. Upon success, the body will contain information about the newly created interaction in the following form:

    "id": <interactionUrl>, 
    "name": <interactionName>, 
    "type": "Microsoft.CustomerInsights/hubs/interactions", 
    "properties": { <interactionProperties> }

Status Code

  • 200 (OK) - if the update request completed successfully.
  • 202 (Accepted) - if the request was accepted.

Type provisioning is typically a long running operation. The initial request will come back with HTTP Accepted (202) with a location header to GET the status of the operation. The properties in the response body will have a field called provisioningState. Eventually performing a GET for the profile will return a response where provisioningState is set to Succeeded, indicating success.