Customer Insights API Quick Reference

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

Customer Insights offers two different sets of RESTful Web interfaces for programmers: the Azure Resource Manager (ARM) API and the Hub API, with considerable overlap in functionality between the two. The following sets of tables enumerate these APIs by area of coverage and by functionality within each. The tables in the middle section contain the functionality that is common between the two API sets, which represents the majority of the interfaces. This tables also maps the equivalent operations between the two APIs.

Note

To maximize comprehension and to save space, the requests in the following tables do not include supplemental query parameters, such as api-version or locale.

For ARM requests (with the exception of the List Hub in Subscription operation), <CI-endpoint> represents the following partial URL:

https://management.azure.com/subscriptions/<subId>/resourceGroups/<rgName>/providers/Microsoft.CustomerInsights

For Hub requests, <Hub-endpoint> is a Customer Insights Hub URL of the form:

https://<Hub-name>.api.azurecustomerinsights.com



ARM API Exclusive Functionality

The following table lists the operations only available through the Customer Insights ARM API.

Operation Request
Hub CRUD Operations
Create/Update Hub PUT <CI-endpoint>/hubs/<hubName>
Update Hub PATCH <CI-endpoint>/hubs/<hubName>
Get Hub GET <CI-endpoint>/hubs/<hubName>
List Hub in Sub GET https://management.azure.com/subscriptions/<subId>/providers/Microsoft.CustomerInsights/hubs
List Hub in RG GET <CI-endpoint>/hubs
Delete Hub DELETE <CI-endpoint>/hubs/<hubName>



ARM API and Hub API Overlapping Functionality

The following table maps the operations that are available both through the ARM and Hub APIs.

Operation API Set Request
SAS Policy Management Operations
Create Or Update SAS Policy ARM PUT <CI-endpoint>/hubs/<hubName>/authorizationPolicies/<policyName>
  Hub PUT <hub-endpoint>/manage/sas/policies/<policyName>
Get SAS Policy ARM GET <CI-endpoint>/hubs/<hubName>/authorizationPolicies/<policyName>
  Hub GET <hub-endpoint>/manage/sas/policies/<policyName>
List SAS Policies ARM GET <CI-endpoint>/hubs/<hubName>/authorizationPolicies
  Hub GET <hub-endpoint>/manage/sas/policies
Regenerate Policy Primary Key ARM POST <CI-endpoint>/hubs/<hubName>/authorizationPolicies/<policyName>/regeneratePrimaryKey
  Hub POST <hub-endpoint>/manage/sas/policies/<policyName>/regeneratePrimaryKey
Regenerate Policy Secondary Key ARM POST <CI-endpoint>/hubs/<hubName>/authorizationPolicies/<policyName>/regenerateSecondaryKey
  Hub POST <hub-endpoint>/manage/sas/policies/<policyName>/regenerateSecondaryKey
RBAC Management Operations
Create or Update Role Assignment ARM PUT <CI-endpoint>/hubs/<hubName>/roleAssignments/<assignmentName>
  Hub PUT <hub-endpoint>/manage/rbac/roleAssignments/<assignmentName>
Get Role Assignment Type ARM GET <CI-endpoint>/hubs/<hubName>/roleAssignments/<assignmentName>
  Hub GET <hub-endpoint>/manage/rbac/roleAssignments/<assignmentName>
List Role Assignment Types ARM GET <CI-endpoint>/hubs/<hubName>/roleAssignments
  Hub GET <hub-endpoint>/manage/rbac/roleAssignments
Delete Role Assignment ARM DELETE <CI-endpoint>/hubs/<hubName>/RoleAssignments/<assignmentName>
  Hub DELETE <hub-endpoint>/manage/rbac/roleAssignments/<assignmentName>
List Role Types ARM GET <CI-endpoint>/hubs/<hubName>/roles
  Hub GET <hub-endpoint>/manage/rbac/roles
Fundamental Type Modeling Operations
Create Or Update Profile Type ARM PUT <CI-endpoint>/hubs/<hubName>/profiles/<profileName>
  Hub PUT <Hub-endpoint>/manage/model/profiles/<profileName>
Get Profile Type ARM GET <CI-endpoint>/hubs/<hubName>/profiles/<profileName>
  Hub GET <Hub-endpoint>/manage/model/profiles/<profileName>
Get Enriching KPIs for Profile ARM GET <CI-endpoint>/hubs/<hubName>/profiles/<profileName>/getEnrichingKpis
  Hub GET <Hub-endpoint>/manage/model/profiles/<profileName>/getEnrichingKpis
List Profile Types ARM GET <CI-endpoint>/hubs/<hubName>/profiles
  Hub GET <Hub-endpoint>/manage/model/profiles
Delete Profile Type ARM DELETE <CI-endpoint>/hubs/<hubName>/profiles/<profileName>
  Hub DELETE <Hub-endpoint>/manage/model/profiles/<profileName>
Create Or Update Interaction Type ARM PUT <CI-endpoint>/hubs/<hubName>/interactions/<interactionName>
  Hub PUT <Hub-endpoint>/manage/model/interactions/<interactionName>
Get Interaction Type ARM GET <CI-endpoint>/hubs/<hubName>/interactions/<interactionName>
  Hub GET <Hub-endpoint>/manage/model/interactions/<interactionName>
List Interaction Types ARM GET <CI-endpoint>/hubs/<hubName>/interactions
  Hub GET <Hub-endpoint>/manage/model/interactions
Suggest Relationships ARM POST <CI-endpoint>/hubs/<hubName>/interactions/<interactionName>/suggestRelationshipLinks
  Hub POST <Hub-endpoint>/manage/model/interactions/<interactionName>/suggestRelationshipLinks
Create Or Update Relationship Type ARM PUT <CI-endpoint>/hubs/<hubName>/relationships/<relationshipName>
  Hub PUT <Hub-endpoint>/manage/model/relationships/<relationshipName>
Get Relationship Type ARM GET <CI-endpoint>/hubs/<hubName>/relationships/<relationshipName>
  Hub GET <Hub-endpoint>/manage/model/relationships/<relationshipName>
List Relationship Types ARM GET <CI-endpoint>/hubs/<hubName>/relationships
  Hub GET <Hub-endpoint>/manage/model/relationships
Delete Relationship Type ARM DELETE <CI-endpoint>/hubs/<hubName>/relationships/<relationshipName>
  Hub DELETE <Hub-endpoint>/manage/model/relationships/<relationshipName>
Link Management Operations
Create or Update Link Type ARM PUT <CI-endpoint>/hubs/<hubName>/links/<linkName>
  Hub PUT <hub-endpoint>/manage/model/links/<linkName>
Get Link Type ARM GET <CI-endpoint>/hubs/<hubName>/links/<linkName>
  Hub GET <hub-endpoint>/manage/model/links/<linkName>
List Link Types ARM GET <CI-endpoint>/hubs/<hubName>/links
  Hub GET <hub-endpoint>/manage/model/links
Delete Link ARM DELETE <CI-endpoint>/hubs/<hubName>/links/<linkName>
  Hub DELETE <hub-endpoint>/manage/model/links/<linkName>
Create Or Update Relationship Link Type ARM PUT <CI-endpoint>/hubs/<hubName>/relationshipLinks/<relationshipLinkName>
  Hub PUT <Hub-endpoint>/manage/model/relationshipLinks/<relationshipLinkName>
Get Relationship Link Type ARM GET <CI-endpoint>/hubs/<hubName>/relationshipLinks/<relationshipLinkName>
  Hub GET <Hub-endpoint>/manage/model/relationshipLinks/<relationshipLinkName>
List Relationship Link Types ARM GET <CI-endpoint>/hubs/<hubName>/relationshipLinks
  Hub GET <Hub-endpoint>/manage/model/relationshipLinks
Delete Relationship Link Type ARM DELETE <CI-endpoint>/hubs/<hubName>/relationshipLinks/<relationshipLinkName>
  Hub DELETE <Hub-endpoint>/manage/model/relationshipLinks/<relationshipLinkName>
Segmentation Management Operations
Create or Update Dynamic Segment Type ARM PUT <CI-endpoint>/hubs/<hubName>/segments/dynamic/<segmentName>
  Hub PUT <hub-endpoint>/manage/model/segments/dynamic/<segmentName>
Create or Update Static Segment Type ARM PUT <CI-endpoint>/hubs/<hubName>/segments/static/<segmentName>
  Hub PUT <hub-endpoint>/manage/model/segments/static/<segmentName>
Get Segment Type ARM GET <CI-endpoint>/hubs/<hubName>/segments/<segmentName>
  Hub GET <Hub-endpoint>/manage/model/segments/<segmentName>
List Segment Types ARM GET <CI-endpoint>/hubs/<hubName>/segments
  Hub GET <Hub-endpoint>/manage/model/segments
Delete Segment Type ARM DELETE <CI-endpoint>/hubs/<hubName>/segments/<segmentName>
  Hub DELETE <hub-endpoint>/manage/model/segments/<segmentName>
KPI Management Operations
Create or Update KPI Type ARM PUT <CI-endpoint>/hubs/<hubName>/kpi/<kpiName>
  Hub PUT <hub-endpoint>/manage/model/kpi/<kpiName>
Get KPI Type ARM GET <CI-endpoint>/hubs/<hubName>/kpi/<kpiName>
  Hub GET <hub-endpoint>/manage/model/kpi/<kpiName>
List KPI Types ARM GET <CI-endpoint>/hubs/<hubName>/kpi
  Hub GET <hub-endpoint>/manage/model/kpi
Delete KPI Type ARM DELETE <CI-endpoint>/hubs/<hubName>/kpi/<kpiName>
  Hub DELETE <hub-endpoint>/manage/model/kpi/<kpiName>
Reprocess KPI ARM POST <CI-endpoint>/hubs/<hubName>/kpi/<kpiName>/reprocess
  Hub POST <hub-endpoint>/manage/model/kpi/<kpiName>/reprocess
Predictive Analysis (Scoring) Management Operations
Create or Update Prediction Type ARM PUT <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>
  Hub PUT <hub-endpoint>/manage/model/predictions/<predictionName>
Get Prediction Type ARM GET <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>
  Hub GET <Hub-endpoint>/manage/model/predictions/<predictionName>
List Prediction Types ARM GET <CI-endpoint>/hubs/<hubName>/predictions
  Hub GET <Hub-endpoint>/manage/model/predictions
Delete Prediction Type ARM DELETE <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>
  Hub DELETE <Hub-endpoint>/manage/model/predictions/<predictionTypeName>
Create or Update Model Status Type ARM POST <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>/modelStatus
  Hub POST <Hub-endpoint>/manage/model/predictions/<predictionName>/modelStatus
Get Model Status ARM POST <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>/getModelStatus
  Hub POST <Hub-endpoint>/manage/model/predictions/<predictionName>/getModelStatus
Get Training Results ARM POST <CI-endpoint>/hubs/<hubName>/predictions/<predictionName>/getTrainingResults
  Hub POST <Hub-endpoint>/manage/model/predictions/<predictionName>/getTrainingResults
Image Management Operations
Get Image Upload URL for Metadata ARM POST <CI-endpoint>/hubs/<hubName>/media/getEntityTypeImageUploadUrl
  Hub POST <Hub-endpoint>/manage/model/media/getEntityTypeImageUploadUrl
Get Image Upload URL for Instance ARM POST <CI-endpoint>/hubs/<hubName>/media/getDataImageUploadUrl
  Hub POST <Hub-endpoint>/manage/model/media/getDataImageUploadUrl
Data Connector Management Operations
Create or Update Data Connector ARM PUT <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>
  Hub PUT <hub-endpoint>/manage/connectors/<connectorName>
Get Data Connector ARM GET <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>
  Hub GET <hub-endpoint>/manage/connectors/<connectorName>
List Data Connectors ARM GET <CI-endpoint>/hubs/<hubName>/connectors
  Hub GET <hub-endpoint>/manage/connectors
Delete Data Connector ARM DELETE <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>
  Hub DELETE <hub-endpoint>/manage/connectors/<connectorName>
Create or Update Data Connector Mapping ARM PUT <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>/mappings/<mappingName>
  Hub PUT <hub-endpoint>/manage/connectors/<connectorName>/mappings/<mappingName>
Get Data Connector Mapping ARM GET <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>/mappings/<mappingName>
  Hub GET <hub-endpoint>/connectors/<connectorName>/mappings/<mappingName>
List Data Connector Mappings ARM GET <CI-endpoint>/hubs/<hubName>/connectors
  Hub GET <hub-endpoint>/manage/connectors
Delete Data Connector Mapping ARM DELETE <CI-endpoint>/hubs/<hubName>/connectors/<connectorName>/mappings/<mappingName>
  Hub DELETE <hub-endpoint>/connectors/<connectorName>/mappings/<mappingName>
App Packaging Management Operations
Get Widget Type ARM GET <CI-endpoint>/hubs/<hubName>/widgetTypes/<widgetName>
  Hub GET <hub-endpoint>/manage/widgetTypes/<widgetName>
List Widget Types ARM GET <CI-endpoint>/hubs/<hubName>/widgetTypes
  Hub GET <hub-endpoint>/manage/widgetTypes
Create or Update App View ARM PUT <CI-endpoint>/hubs/<hubName>/views/<viewName>
  Hub PUT <hub-endpoint>/manage/views/<viewName>&userId=<userId>
Get App View ARM GET <CI-endpoint>/hubs/<hubName>/views/<viewName>
  Hub GET <hub-endpoint>/manage/views/<viewName>&userId=<userId>
List App Views ARM GET <CI-endpoint>/hubs/<hubName>/views
  Hub GET <hub-endpoint>/manage/views&userId=<userId>
Delete App View ARM DELETE <CI-endpoint>/hubs/<hubName>/views/<viewName>
  Hub DELETE <hub-endpoint>/manage/views/<viewName>&userId=<userId>



Hub API Exclusive Functionality

The following table lists the operations only available through the Customer Insights Hub API. These include operations on entity instances, grouped in the section Hub Data APIs. The following examples use "Contacts" as a custom Profile entity-set type.

Operation Request
Predicitive Matching Policy Management Operations
Create or Update Predictive Match Policy PUT <hub-endpoint>/manage/model/predictiveMatchPolicies/<policyName>
Get a Predictive Match Policy Type GET <hub-endpoint>/manage/model/predictiveMatchPolicies/<policyName>
List Predictive Match Policy Types GET <hub-endpoint>/manage/model/predictiveMatchPolicies
Delete Predictive Match Policy DELETE <hub-endpoint>/manage/model/predictiveMatchPolicies/<policyName>
Hub Data Operations
Create Profile instance POST <hub-endpoint>/data/Contacts
List All Profile Instances GET <hub-endpoint>/data/Contacts
Get Profile Instance by ID GET <hub-endpoint>/data/Contacts('<spid>')
Create Interaction Instance POST <hub-endpoint>/data/Interactions
List Interactions associated with Profile Type GET <hub-endpoint>/data/Contacts('<contactid>')/Interactions
Create Relationship instance POST <hub-endpoint>/data/Relationship
Delete Relationship instance POST <hub-endpoint>/data/Relationships with custom header X-HTTP-Method: DELETE
List Relationship Instances [various]
List all Segment Instances GET <hub-endpoint>/data/segments(<segmentName>)
List Segment Members GET <hub-endpoint>/data/segments/<segmentName>/members
List Added Segment Members GET <Hub-endpoint>/data/segments/<segmentName>/addedMembersDelta?continuationToken=<continuationToken>&batchSize=<batchSize>
Estimate Segment Result Count POST <Hub-endpoint>/data/segments/estimation
Segmentation Query Evaluation POST <Hub-endpoint>/data/segments/evaluation
Create Blob Bulk Ingestion Job POST <hub-endpoint>/data/BlobIngestionJobs
Query Blob Bulk Ingestion Jobs GET hub-endpoint>/data/BlobIngestionJobs
Query KPI Data GET <hub-endpoint>/data/KPIs(KpiName='<kpiName>',WindowType='<period>')/Values
Get KPI data for Profile ID GET <hub-endpoint>/data/Contacts('<contactId>')/KPIs(KpiName='<kpiName>',WindowType='<period>')/Values