NAV
Ruby Shell

Business Intelligence Public API v1

Business intelligence (BI) is the process of gaining insight from data. This API provides the building blocks necessary to represent the structure of data and import the data into business intelligence solutions such as BusinessObjects and Tableau. Specifically, a data model represents the data sets that make up all the data needed for a domain and those data sets’ structure and relationships to each other. After a data model is defined and published, the data inside can be used to create reports and data discovery experiences with visualizations to enable users to view and understand the data. Also, you can create new roles in BI tools. These roles can be used to provide access to the data model and reports, enabling users to perform the actions associated with that role.

URL: https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1

Data Models

Data models enable you to create and manage data sets, relationships between data sets, and the semantic business layers that are created and published.

Create a Data Model

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models', headers: headers, body: {"name":"Demo Data Model","discoverability":"PRIVATE","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"description":"This is a test model created for a demonstration.","dataSetAliases":[{"name":"Pharmacy Orders","description":"The details of the drug that specify the name, dosage, strength of each ingredient, and so on.","dataSetMnemonic":"PH_D_Pharmacy_Order","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug specified in the orders.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"Dosage","description":"The appropriate dosage details.","dataType":"STRING","fieldMnemonic":"Dosage","visible":"true","primaryKey":"false"}]},{"name":"Pharmacy Inventory","description":"The stock details of all the drugs available in the inventory.","dataSetMnemonic":"PharmacyInventory","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug available in the inventory records.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"quantity","description":"The availabile quantity of the drug in the inventory.","dataType":"INTEGER","fieldMnemonic":"quantity","visible":"true","primaryKey":"false"},{"name":"max of available drug","description":"A derived field to retrieve the maximum available drug in the inventory.","calculationFunction":{"functionName":"max","fieldAliasName":"quantity"},"visible":"true"}]}],"joins":[{"joinType":"OUTER_FULL","operator":"=","leftFieldAlias":{"dataSetAlias":"Pharmacy Orders","fieldAlias":"Drug Name"},"rightFieldAlias":{"dataSetAlias":"Pharmacy Inventory","fieldAlias":"Drug Name"}}],"filters":[{"dataSetAliasName":"Pharmacy Orders","fieldAliasName":"Dosage","operator":"LIKE","value":"As per doctor's prescription","global":"true","dataType":"STRING"}],"rowLevelFilter":{"dataSetAliasName":"UserDataSetAlias","fieldAliasName":"userAliasField"}}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Demo Data Model","discoverability":"PRIVATE","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"description":"This is a test model created for a demonstration.","dataSetAliases":[{"name":"Pharmacy Orders","description":"The details of the drug that specify the name, dosage, strength of each ingredient, and so on.","dataSetMnemonic":"PH_D_Pharmacy_Order","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug specified in the orders.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"Dosage","description":"The appropriate dosage details.","dataType":"STRING","fieldMnemonic":"Dosage","visible":"true","primaryKey":"false"}]},{"name":"Pharmacy Inventory","description":"The stock details of all the drugs available in the inventory.","dataSetMnemonic":"PharmacyInventory","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug available in the inventory records.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"quantity","description":"The availabile quantity of the drug in the inventory.","dataType":"INTEGER","fieldMnemonic":"quantity","visible":"true","primaryKey":"false"},{"name":"max of available drug","description":"A derived field to retrieve the maximum available drug in the inventory.","calculationFunction":{"functionName":"max","fieldAliasName":"quantity"},"visible":"true"}]}],"joins":[{"joinType":"OUTER_FULL","operator":"=","leftFieldAlias":{"dataSetAlias":"Pharmacy Orders","fieldAlias":"Drug Name"},"rightFieldAlias":{"dataSetAlias":"Pharmacy Inventory","fieldAlias":"Drug Name"}}],"filters":[{"dataSetAliasName":"Pharmacy Orders","fieldAliasName":"Dosage","operator":"LIKE","value":"As per doctor's prescription","global":"true","dataType":"STRING"}],"rowLevelFilter":{"dataSetAliasName":"UserDataSetAlias","fieldAliasName":"userAliasField"}}

POST /data-models

Creates a data model along with all its child entities.

Parameters

Parameter In Type Required Default Description Accepted Values
body body postDataModels true N/A No description -

Response Statuses

Status Meaning Description Schema
202 Accepted Accepted None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Response Headers

Status Header Type Format Description
202 Location string The URL location of the processing job.

Retrieve a List of Data Models

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "87d015cf-2ae3-48d4-822c-9fff4d5b8570",
      "name": "Demo Data Model",
      "description": "Data model to derive insights for the pharmacy inventory.",
      "discoverability": "PRIVATE",
      "dataModelType": "STANDARD",
      "role": "CONSUMER",
      "dataSetAliases": [
        {
          "id": "02727833-ddd7-437c-8a83-ce38308a7ccd",
          "name": "dataSetAliasName1",
          "description": "A short description of the data set alias",
          "dataSetMnemonic": "PH_D_Provider_Taxonomy",
          "schemaMnemonic": "Schema Name",
          "fieldAliases": [
            {
              "id": "01eca1a7-e4db-4021-9883-29bc86735ada",
              "name": "fieldAliasName1",
              "description": "fieldAliasName1",
              "dataType": "STRING",
              "fieldMnemonic": "provider_id",
              "role": "DIMENSION",
              "visible": true,
              "calculationFunction": {
                "functionName": "max",
                "fieldAliasName": "quantity"
              },
              "primaryKey": true
            }
          ]
        }
      ],
      "joins": [
        {
          "id": "22c395e8-95b7-42d4-90f4-7501f4e9c5e3",
          "leftFieldAlias": {
            "dataSetAlias": "dataSetAliasName",
            "fieldAlias": "fieldAliasesName"
          },
          "rightFieldAlias": {
            "dataSetAlias": "dataSetAliasName",
            "fieldAlias": "fieldAliasesName"
          },
          "joinType": "OUTER_FULL",
          "operator": "="
        }
      ],
      "filters": [
        {
          "id": "62ff1317-383c-40ac-a41b-12213e565a95",
          "dataSetAliasName": "dataSetAliasName1",
          "fieldAliasName": "fieldAliasName1",
          "operator": "LIKE",
          "value": "string to be compared",
          "global": true,
          "dataType": "STRING"
        }
      ],
      "rowLevelFilter": {
        "dataSetAliasName": "UserDataSetAlias",
        "fieldAliasName": "userAliasField"
      },
      "createdAt": "2019-09-13T10:49:07.000Z",
      "updatedAt": "2019-09-13T10:49:07.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models?offset=0&limit=20"
}

GET /data-models

Retrieves a list of data models, filtered by the specified parameters.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the data model.
Note: The response includes all data models that contain the name.
-
discoverability query array[string] false N/A A comma-separated list of discoverability. Filters the response by the discoverability of the data model. The following values are possible: -
dataModelType query array[string] false N/A A comma-separated list of data model type. Filters the response by the data_model_type of the data model. The following values are possible: -
orderBy query string false name A comma-separated list of fields by which to sort. -name, name
associatedEntities query boolean false false Indicates whether the retrieved list of data models should include associated data set aliases, field aliases, joins, filters, and calculated fields. If the value is true, the associated resources are included in the response. If the value is false, they are not included. -
authorizedPersonnelId query string false N/A Filters the response by personnel user access.
For more information about personnel, see Personnel API.
-
role query array[string] false N/A A comma-separated list of roles. Filters the response by the role of the member of the data model. The following roles are available: -
dataModelId query array[string] false N/A A comma-separated list of data model id, that filters the response by the id of the data model. -
sourceApplicationId query array[string] false N/A A comma-separated list of unique Identifiers for BI Tools. Filters the response by the source application id. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK DataModels
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Delete a Data Model

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /data-models/{dataModelId}

Deletes a data model, including all its child data set aliases, field aliases, joins, filters, and arguments. The authorization settings applied to the data model also are deleted.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of the data model. -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update a Data Model

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570', headers: headers, body: {"description":"This is a test model created for a demonstration.","discoverability":"PRIVATE","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"dataSetAliases":[{"name":"Pharmacy Orders","description":"The details of the drug that specify the name, dosage, strength of each ingredient, and so on.","dataSetMnemonic":"PH_D_Pharmacy_Order","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug specified in the orders.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"Dosage","description":"The appropriate dosage details.","dataType":"STRING","fieldMnemonic":"Dosage","visible":"true","primaryKey":"false"}]},{"name":"Pharmacy Inventory","description":"The stock details of all the drugs available in the inventory.","dataSetMnemonic":"PharmacyInventory","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug available in the inventory records.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"quantity","description":"The availabile quantity of the drug in the inventory.","dataType":"INTEGER","fieldMnemonic":"quantity","visible":"true","primaryKey":"false"},{"name":"max of available drug","description":"A derived field to retrieve the maximum available drug in the inventory.","calculationFunction":{"functionName":"max","fieldAliasName":"quantity"},"visible":"true"}]}],"joins":[{"joinType":"OUTER_FULL","operator":"=","leftFieldAlias":{"dataSetAlias":"Pharmacy Orders","fieldAlias":"Drug Name"},"rightFieldAlias":{"dataSetAlias":"Pharmacy Inventory","fieldAlias":"Drug Name"}}],"filters":[{"dataSetAliasName":"Pharmacy Orders","fieldAliasName":"Dosage","operator":"LIKE","value":"As per doctor's prescription","global":"true","dataType":"STRING"}],"rowLevelFilter":{"dataSetAliasName":"UserDataSetAlias","fieldAliasName":"userAliasField"}}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"description":"This is a test model created for a demonstration.","discoverability":"PRIVATE","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"dataSetAliases":[{"name":"Pharmacy Orders","description":"The details of the drug that specify the name, dosage, strength of each ingredient, and so on.","dataSetMnemonic":"PH_D_Pharmacy_Order","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug specified in the orders.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"Dosage","description":"The appropriate dosage details.","dataType":"STRING","fieldMnemonic":"Dosage","visible":"true","primaryKey":"false"}]},{"name":"Pharmacy Inventory","description":"The stock details of all the drugs available in the inventory.","dataSetMnemonic":"PharmacyInventory","schemaMnemonic":"Schema Name","fieldAliases":[{"name":"Drug Name","description":"The name of the drug available in the inventory records.","dataType":"STRING","fieldMnemonic":"DrugName","visible":"true","primaryKey":"false"},{"name":"quantity","description":"The availabile quantity of the drug in the inventory.","dataType":"INTEGER","fieldMnemonic":"quantity","visible":"true","primaryKey":"false"},{"name":"max of available drug","description":"A derived field to retrieve the maximum available drug in the inventory.","calculationFunction":{"functionName":"max","fieldAliasName":"quantity"},"visible":"true"}]}],"joins":[{"joinType":"OUTER_FULL","operator":"=","leftFieldAlias":{"dataSetAlias":"Pharmacy Orders","fieldAlias":"Drug Name"},"rightFieldAlias":{"dataSetAlias":"Pharmacy Inventory","fieldAlias":"Drug Name"}}],"filters":[{"dataSetAliasName":"Pharmacy Orders","fieldAliasName":"Dosage","operator":"LIKE","value":"As per doctor's prescription","global":"true","dataType":"STRING"}],"rowLevelFilter":{"dataSetAliasName":"UserDataSetAlias","fieldAliasName":"userAliasField"}}

PUT /data-models/{dataModelId}

Updates the entire content of a data model. The child entities of the data model are replaced based on the request.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of the data model. -
body body putDataModels true N/A No description -

Response Statuses

Status Meaning Description Schema
202 Accepted Accepted None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Response Headers

Status Header Type Format Description
202 Location string The URL location of the processing job.

Retrieve a Single Data Model

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "87d015cf-2ae3-48d4-822c-9fff4d5b8570",
  "name": "Demo Data Model",
  "description": "Data model to derive insights for the pharmacy inventory.",
  "discoverability": "PRIVATE",
  "dataModelType": "STANDARD",
  "role": "CONSUMER",
  "dataSetAliases": [
    {
      "id": "02727833-ddd7-437c-8a83-ce38308a7ccd",
      "name": "dataSetAliasName1",
      "description": "A short description of the data set alias",
      "dataSetMnemonic": "PH_D_Provider_Taxonomy",
      "schemaMnemonic": "Schema Name",
      "fieldAliases": [
        {
          "id": "01eca1a7-e4db-4021-9883-29bc86735ada",
          "name": "fieldAliasName1",
          "description": "fieldAliasName1",
          "dataType": "STRING",
          "fieldMnemonic": "provider_id",
          "role": "DIMENSION",
          "visible": true,
          "calculationFunction": {
            "functionName": "max",
            "fieldAliasName": "quantity"
          },
          "primaryKey": true
        }
      ]
    }
  ],
  "joins": [
    {
      "id": "22c395e8-95b7-42d4-90f4-7501f4e9c5e3",
      "leftFieldAlias": {
        "dataSetAlias": "dataSetAliasName",
        "fieldAlias": "fieldAliasesName"
      },
      "rightFieldAlias": {
        "dataSetAlias": "dataSetAliasName",
        "fieldAlias": "fieldAliasesName"
      },
      "joinType": "OUTER_FULL",
      "operator": "="
    }
  ],
  "filters": [
    {
      "id": "62ff1317-383c-40ac-a41b-12213e565a95",
      "dataSetAliasName": "dataSetAliasName1",
      "fieldAliasName": "fieldAliasName1",
      "operator": "LIKE",
      "value": "string to be compared",
      "global": true,
      "dataType": "STRING"
    }
  ],
  "rowLevelFilter": {
    "dataSetAliasName": "UserDataSetAlias",
    "fieldAliasName": "userAliasField"
  },
  "createdAt": "2019-09-13T10:49:07.000Z",
  "updatedAt": "2019-09-13T10:49:07.000Z"
}

GET /data-models/{dataModelId}

Retrieves a single data model by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of the data model. -
associatedEntities query boolean false false Indicates whether the retrieved list of data models should include associated data set aliases, field aliases, joins, filters, and calculated fields. If the value is true, the associated resources are included in the response. If the value is false, they are not included. -

Response Statuses

Status Meaning Description Schema
200 OK OK DataModel
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a list of Publications for a Data Model

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "015e9463-b911-4195-a054-757dc31f22c3",
      "status": "FAILED",
      "errorKey": "[\"PUBLISH_TO_BO_ERROR\"]",
      "errorMessage": "Data set [\"DatasetName1\"] is not joined to any other data sets.",
      "version": 1,
      "publishedToTableau": true,
      "createdAt": "2020-04-06T10:10:07.000Z",
      "updatedAt": "2020-04-06T10:10:07.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications?offset=0&limit=20"
}

GET /data-models/{dataModelId}/publications

Retrieves a list of publications for the specified data model. This list contains completed and in-progress publication job information.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of the data model. -
status query string false N/A The current status of the data model publication. PROCESSING, PUBLISHED, FAILED
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK Publications
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a Single Data Model Publication by ID

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications/015e9463-b911-4195-a054-757dc31f22c3', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/publications/015e9463-b911-4195-a054-757dc31f22c3 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "015e9463-b911-4195-a054-757dc31f22c3",
  "status": "FAILED",
  "errorKey": "[\"PUBLISH_TO_BO_ERROR\"]",
  "errorMessage": "Data set [\"DatasetName1\"] is not joined to any other data sets.",
  "version": 1,
  "publishedToTableau": true,
  "createdAt": "2020-04-06T10:10:07.000Z",
  "updatedAt": "2020-04-06T10:10:07.000Z"
}

GET /data-models/{dataModelId}/publications/{publicationId}

Retrieves the details of a data model’s publication status by the publication’s ID.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of the data model. -
publicationId path string true N/A The ID of a data model publication. -

Response Statuses

Status Meaning Description Schema
200 OK OK Publication
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve a List of Published Data Model Versions

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "versionNumber": 1,
      "versionLink": "http://cernerdemo.api.us.healtheintent.com/business-intelligence/v1/data-models/{dataModelId}/versions/{versionNumber}"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions?offset=0&limit=20"
}

GET /data-models/{dataModelId}/versions

Retrieves a list of published data model versions.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK Versions
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a published data model version

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions/1', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/versions/1 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "name": "Demo Data Model",
  "description": "This is a test model created for a demonstration.",
  "dataSetAliases": [
    {
      "id": "02727833-ddd7-437c-8a83-ce38308a7ccd",
      "name": "dataSetAliasName1",
      "description": "A short description of the data set alias",
      "dataSetMnemonic": "PH_D_Provider_Taxonomy",
      "schemaMnemonic": "Schema Name",
      "fieldAliases": [
        {
          "id": "01eca1a7-e4db-4021-9883-29bc86735ada",
          "name": "fieldAliasName1",
          "description": "fieldAliasName1",
          "dataType": "STRING",
          "fieldMnemonic": "provider_id",
          "role": "DIMENSION",
          "visible": true,
          "calculationFunction": {
            "functionName": "max",
            "fieldAliasName": "quantity"
          },
          "primaryKey": true
        }
      ]
    }
  ],
  "joins": [
    {
      "id": "22c395e8-95b7-42d4-90f4-7501f4e9c5e3",
      "leftFieldAlias": {
        "dataSetAlias": "dataSetAliasName",
        "fieldAlias": "fieldAliasesName"
      },
      "rightFieldAlias": {
        "dataSetAlias": "dataSetAliasName",
        "fieldAlias": "fieldAliasesName"
      },
      "joinType": "OUTER_FULL",
      "operator": "="
    }
  ],
  "filters": [
    {
      "id": "62ff1317-383c-40ac-a41b-12213e565a95",
      "dataSetAliasName": "dataSetAliasName1",
      "fieldAliasName": "fieldAliasName1",
      "operator": "LIKE",
      "value": "string to be compared",
      "global": true,
      "dataType": "STRING"
    }
  ],
  "rowLevelFilter": {
    "dataSetAliasName": "UserDataSetAlias",
    "fieldAliasName": "userAliasField"
  }
}

GET /data-models/{dataModelId}/versions/{versionNumber}

Retrieves details of published data model by version number.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
versionNumber path integer(int32) true N/A The version of a published data model. -

Response Statuses

Status Meaning Description Schema
200 OK OK DataModelVersion
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Data Model Authorizations

Data model authorizations enable you to indicate the members who can access the data model. Authorized users can view and generate reports using the published data model in BI tools.

Retrieve a List of Data Model Authorizations

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "942b1a22-4e4a-49f1-880d-947548b22241",
      "member": {
        "id": "d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37",
        "type": "PERSONNEL"
      },
      "role": "CONSUMER"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations?offset=0&limit=20"
}

GET /data-models/{dataModelId}/authorizations

Retrieves the authorizations of a data model.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK Authorizations
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Add Authorizations to Data Model Members

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations', headers: headers, body: {"authorizations":[{"member":{"id":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","type":"PERSONNEL"},"role":"CONSUMER"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"authorizations":[{"member":{"id":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","type":"PERSONNEL"},"role":"CONSUMER"}]}

Example response

{
  "authorizations": [
    {
      "id": "942b1a22-4e4a-49f1-880d-947548b22241",
      "member": {
        "id": "d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37",
        "type": "PERSONNEL"
      },
      "role": "CONSUMER"
    }
  ]
}

POST /data-models/{dataModelId}/authorizations

Adds authorizations to personnel or personnel groups and authorizes them as owners, collaborators, or consumers.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
body body postDataModelsDatamodelidAuthorizations true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created DataModelAuthorization
207 Multi-Status Multi Status MultiStatus
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Delete an Authorization of a Data Model

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations/942b1a22-4e4a-49f1-880d-947548b22241', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations/942b1a22-4e4a-49f1-880d-947548b22241 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /data-models/{dataModelId}/authorizations/{authorizationId}

Deletes the user content privileges of a data model.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
authorizationId path string true N/A The ID of the data model’s authorization record. -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update an Authorization of a Data Model

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations/942b1a22-4e4a-49f1-880d-947548b22241', headers: headers, body: {"role":"CONSUMER"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/data-models/87d015cf-2ae3-48d4-822c-9fff4d5b8570/authorizations/942b1a22-4e4a-49f1-880d-947548b22241 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"role":"CONSUMER"}

PUT /data-models/{dataModelId}/authorizations/{authorizationId}

Updates the user privileges of a data model.

Parameters

Parameter In Type Required Default Description Accepted Values
dataModelId path string true N/A The ID of a data model. -
authorizationId path string true N/A The ID of the data model’s authorization record. -
body body putDataModelsDatamodelidAuthorizations true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Reports

Reports enable you to retrieve existing BusinessObjects or Tableau report metadata.

Retrieve a Single Report

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "190adfc7-496a-40a4-923e-4c99fa2f8e",
  "name": "Sample Report"
}

GET /reports/{reportId}

Retrieves a single report with the specified ID.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of the report. -

Response Statuses

Status Meaning Description Schema
200 OK OK Report
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Report Authorizations

Report authorizations enable you to indicate the personnel or personnel groups who can access the Report. Authorized personnel can view and update report in BI tools.

Delete an Authorization of a report

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/942b1a22-4e4a-49f1-880d-947548b22241', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/942b1a22-4e4a-49f1-880d-947548b22241 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /reports/{reportId}/authorizations/{authorizationId}

Deletes the personnel or personnel group’s authorization on a report.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of a report. -
authorizationId path string true N/A The ID of the report authorization record. -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update authorizations on report

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/942b1a22-4e4a-49f1-880d-947548b22241', headers: headers, body: {"role":"CONSUMER","memberId":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","memberType":"PERSONNEL"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/942b1a22-4e4a-49f1-880d-947548b22241 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"role":"CONSUMER","memberId":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","memberType":"PERSONNEL"}

PUT /reports/{reportId}/authorizations/{authorizationId}

Updates authorizations on report for personnel or personnel group as owner, collaborator, or consumer. When the number of personnel in the personnel group is more than 100, the operation to update authorizations may take several hours.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of a report. -
authorizationId path string true N/A The ID of the report authorization record. -
body body putReportsReportidAuthorizations true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve Report Authorization with provided Authorization ID

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/190adfc7-496a-40a4-923e-4c99fa2f8e', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations/190adfc7-496a-40a4-923e-4c99fa2f8e \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "942b1a22-4e4a-49f1-880d-947548b22241",
  "memberId": "d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37",
  "memberType": "PERSONNEL",
  "role": "CONSUMER"
}

GET /reports/{reportId}/authorizations/{authorizationId}

Retrieve report authorization with provided Authorization ID.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of a report. -
authorizationId path string true N/A The ID of the report authorization record. -

Response Statuses

Status Meaning Description Schema
200 OK OK ReportAuthorization
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Adds authorizations on report

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations', headers: headers, body: {"role":"CONSUMER","memberId":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","memberType":"PERSONNEL"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"role":"CONSUMER","memberId":"d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37","memberType":"PERSONNEL"}

Example response

{
  "id": "942b1a22-4e4a-49f1-880d-947548b22241",
  "memberId": "d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37",
  "memberType": "PERSONNEL",
  "role": "CONSUMER"
}

POST /reports/{reportId}/authorizations

Adds authorizations on report for personnel or personnel group as owner, collaborator, or consumer. When the number of personnel in the personnel group is more than 100, the operation to add authorizations may take several hours.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of a report. -
body body postReportsReportidAuthorizations true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created ReportAuthorization
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound
409 Conflict Conflict Conflict

Retrieve a List of Report Authorizations

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "942b1a22-4e4a-49f1-880d-947548b22241",
      "memberId": "d197260b-e1b2-4e9f-ac8e-d5ed6ada2b37",
      "memberType": "PERSONNEL",
      "role": "CONSUMER"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/reports/190adfc7-496a-40a4-923e-4c99fa2f8e/authorizations?offset=0&limit=20"
}

GET /reports/{reportId}/authorizations

Retrieves the authorizations of a report.

Parameters

Parameter In Type Required Default Description Accepted Values
reportId path string true N/A The ID of a report. -
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK ReportAuthorizations
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Roles

Roles enable you to create and manage access rights in BI tools. While creating the role we need to provide the capabilities ID returned from capability resource.

Retrieve a List of Roles

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "5acadf88-a30c-4ed1-afc2-9c9b74ab36de",
      "name": "Viewer Role",
      "description": "The role provides access to edit the report.",
      "capabilities": [
        {
          "id": "f836a075-87a0-4ddc-a530-e46c06826e29"
        }
      ],
      "createdAt": "2020-04-06T10:10:07.000Z",
      "updatedAt": "2020-04-06T10:10:07.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles?offset=0&limit=20"
}

GET /roles

Retrieves a list of roles filtered by the specified parameters.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the role.
Note: The search is case-sensitive and partial matching is not supported.
-
includeCapabilities query boolean false false Indicates whether the retrieved list of roles should include associated capabilities. If the value is true, the capabilities are included in the response. If the value is false, they are not included. -
orderBy query string false name A comma-separated list of fields by which to sort. -name, name
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK Roles
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Creates a role

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles', headers: headers, body: {"name":"Viewer Role","description":"Role provides access to edit the report.","capabilities":[{"id":"f836a075-87a0-4ddc-a530-e46c06826e29"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Viewer Role","description":"Role provides access to edit the report.","capabilities":[{"id":"f836a075-87a0-4ddc-a530-e46c06826e29"}]}

Example response

{
  "id": "5acadf88-a30c-4ed1-afc2-9c9b74ab36de",
  "name": "Viewer Role",
  "description": "The role provides access to edit the report.",
  "capabilities": [
    {
      "id": "f836a075-87a0-4ddc-a530-e46c06826e29"
    }
  ],
  "createdAt": "2020-04-06T10:10:07.000Z",
  "updatedAt": "2020-04-06T10:10:07.000Z"
}

POST /roles

Creates a role along with all its associated capabilities.

Parameters

Parameter In Type Required Default Description Accepted Values
body body postRoles true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created Role
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Delete a Role

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.delete('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /roles/{roleId}

Deletes a Role, including all its capability mappings. The roles created in BI tools also are deleted.

Parameters

Parameter In Type Required Default Description Accepted Values
roleId path string true N/A The unique ID of the role. -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Updates role and its capabilities

Example Request:




require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Content-Type' => 'application/json',
  'Accept' => 'application/json'
} 

result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966', headers: headers, body: {"name":"Viewer Role","description":"Role provides access to edit the report.","capabilities":[{"id":"f836a075-87a0-4ddc-a530-e46c06826e29"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Viewer Role","description":"Role provides access to edit the report.","capabilities":[{"id":"f836a075-87a0-4ddc-a530-e46c06826e29"}]}

PUT /roles/{roleId}

Updates role and its included capabilities.

Parameters

Parameter In Type Required Default Description Accepted Values
roleId path string true N/A The unique ID of the role. -
body body putRoles true N/A No description -

Response Statuses

Status Meaning Description Schema
204 No Content No Content None
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Retrieve a Single Role

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/roles/e43b5cf9-aaa1-4d77-87a4-a91a164d5966 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "5acadf88-a30c-4ed1-afc2-9c9b74ab36de",
  "name": "Viewer Role",
  "description": "The role provides access to edit the report.",
  "capabilities": [
    {
      "id": "f836a075-87a0-4ddc-a530-e46c06826e29"
    }
  ],
  "createdAt": "2020-04-06T10:10:07.000Z",
  "updatedAt": "2020-04-06T10:10:07.000Z"
}

GET /roles/{roleId}

Retrieves a single role by ID.

Parameters

Parameter In Type Required Default Description Accepted Values
roleId path string true N/A The unique ID of the role. -
includeCapabilities query boolean false false Indicates whether the retrieved list of roles should include associated capabilities. If the value is true, the capabilities are included in the response. If the value is false, they are not included. -

Response Statuses

Status Meaning Description Schema
200 OK OK Role
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Capabilities

Capabilities enable you to retrieve allowed capabilities that can be added to the roles created.

Retrieve a List of allowed Capabilities

Example Request:


require 'httparty' # Using HTTParty 0.16.2
require 'json'

headers = {
  'Authorization' => '<auth_header>',
  'Accept' => 'application/json'
} 

result = HTTParty.get('https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/capabilities', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/capabilities \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "1dcfba31-08ee-4c48-bea9-a6467a0a3a64",
      "name": "Refresh List of Values",
      "tool": "BUSINESS_OBJECTS",
      "description": "Allows the users to Refresh the List of values available in the report."
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/capabilities?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/business-intelligence/v1/capabilities?offset=0&limit=20"
}

GET /capabilities

Retrieves a list of capabilities filtered by the specified parameters.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the role.
Note: The search is case-sensitive and partial matching is not supported.
-
tool query string false N/A The name of the BI tool to which capability belongs. BUSINESS_OBJECTS, TABLEAU
orderBy query string false name A comma-separated list of fields by which to sort. -name, name
offset query integer(int32) false 0 The number of results to skip from the beginning of the list of results (typically for the purpose of paging). The minimum offset is 0. There is no maximum offset. -
limit query integer(int32) false 20 The maximum number of results to display per page. The minimum limit is 1. The maximum limit is 100. -

Response Statuses

Status Meaning Description Schema
200 OK OK Capabilities
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Schema Definitions

postDataModels

Name Type Required Description Accepted Values
name string true The display name of the data model. -
discoverability string false Discoverability controls who can discover a data model of which they are not already a member. The following values are possible:
  • PUBLIC: Indicates that the data model is visible to all users and anyone can join to have access.
  • PRIVATE: Indicates that the data model is visible to all users but the users cannot join unless a data model member explicitly adds them.
  • HIDDEN: Indicates that the data model is hidden from anyone who does not have access to the data model.
PUBLIC, PRIVATE, HIDDEN
publishTo [string] true This indicates the BI tool to which the data model should be published.
NOTE: Data models can published to one or more BI tools at a time.
BUSINESS_OBJECTS, TABLEAU
description string false A short description of the data model. -
dataSetAliases [object] false

The list of data sets to be added to a data model.
This includes the list of field aliases that are associated with the data set;
if any calculation functions are to be applied on any of the fields,
they should also be included in the field aliases list of the data set alias.

-
» name string true The alias for the data set added to the data model. -
» description string true A short description of the data set alias of the data model. -
» dataSetMnemonic string true The name of the associated data set. -
» schemaMnemonic string true The name of the schema for the associated data set. -
» fieldAliases [object] false No description -
»» description string false A short description of the field alias in the associated data set. -
»» dataType string false The data type of the associated field. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATE_TIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB
»» fieldMnemonic string false The name of the associated field in the data set.
NOTE: This field is NULL for a field with a calculation function.
-
»» role string false The role of the field. The following values are possible:
  • DIMENSION: These are the fields used to describe the data record, for example, the name and IDs.
  • MEASURE: These are the fields whose values are derived or aggregated from the DIMENSION type fields, for example, sum and average.
DIMENSION, MEASURE
»» visible boolean false Indicates whether the field alias is visible. -
»» primaryKey boolean false Indicates whether the field is a primary key. -
»» calculationFunction object false No description -
»»» functionName string false

The function to be applied to derive the custom field in the BI tools using an existing field alias of the data set alias associated with the data model.

-
»»» fieldAliasName string false The name of the field in the data set to which the calculation function should be applied. -
»» name string true No description -
joins [object] false The list of joins to be applied between the data sets of the data model. -
» joinType string true The type of join defined in the data set. OUTER_FULL, OUTER_NONE, OUTER_LEFT, OUTER_RIGHT
» operator string true The operator for the join defined in the data set. =, >, <, >=, <=
» leftFieldAlias object true No description -
»» dataSetAlias string true The name of the data set alias to which the join should be applied. -
»» fieldAlias string true The name of the field in the data set to which the join should be applied. -
» rightFieldAlias object true No description -
»» dataSetAlias string true The name of the data set alias to which the join should be applied. -
»» fieldAlias string true The name of the field in the data set to which the join should be applied. -
filters [object] false The list of filters to be included on the data sets or data model. -
» dataSetAliasName string true The name of the data set alias to which the filter is applied. -
» fieldAliasName string true The name of the field alias of the data set to which the filter is applied. -
» operator string true The type of filter operator. =, !=, IS NULL, IS NOT NULL, >, <, >=, <=, BETWEEN, IN, LIKE
» value string true This specifies the string to be matched with the value in the specified field when the filter operator is LIKE or =. -
» global boolean true Indicates whether the filter is global in scope. If the value is true, the scope of the filter is global and present in all data set aliases associated with the data model. If the value is false, the filter is in only the specified data set alias associated with the data model. -
» dataType string true The data type of the field alias. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATETIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB
rowLevelFilter object false This specifies the details of the row level security to be applied on the data model. -
» dataSetAliasName string true The name of the data set alias that specifies user details to extract the entitlement view of the data. -
» fieldAliasName string true The name of the field alias in the Data set alias that consists the alias information of the user. NOTE: This field must consist the value of aliases field of the Personnel details specified in the Personnel API. -

Unauthorized

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

Forbidden

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

BadRequest

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

DataModels

Name Type Required Description Accepted Values
items [DataModel] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

DataModel

Name Type Required Description Accepted Values
id string false The unique ID of the data model. -
name string false The display name of the data model. -
description string false A short description of the data model. -
discoverability string false Discoverability controls who can discover a data model of which they are not already a member. The following values are possible:
  • PUBLIC: Indicates that the data model is visible to all users and anyone can join to have access.
  • PRIVATE: Indicates that the data model is visible to all users but the users cannot join unless a data model member explicitly adds them.
  • HIDDEN: Indicates that the data model is hidden from anyone who does not have access to the data model.
PRIVATE, PUBLIC, HIDDEN
dataModelType string false DataModelType describes whether the data model is a Cerner-defined data-model or a custom data-model. The following values are possible:
  • STANDARD: Indicates that the data model is Cerner-defined data model.
  • CUSTOM: Indicates that the data model is a custom data model.
STANDARD, CUSTOM
role string false A data model member’s role defines what actions they are authorized to perform for the data model. The following roles are available:
  • CONSUMER: Consumers can only view the data model.
  • COLLABORATOR: Collaborators can view and edit the data model but not delete it.
  • OWNER: Owners have all privileges for the data model, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR
sourceApplications object false A comma-separated list of unique Identifiers for BI Tools. Filters the response by the source application id. -
dataSetAliases [DataSetAlias] false No description -
joins [Join] false The list of joins to be applied to the data set aliases of a data model. -
filters [Filter] false The list of filters to be applied to the data model or the data set aliases. -
rowLevelFilter RowLevelFilter false This specifies the details of the row level security to be applied on the data model. -
createdAt string false The date and time when the data model was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string false The date and time when the data model was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

DataSetAlias

Name Type Required Description Accepted Values
id string false The unique ID of the data set alias. -
name string false The alias for the data set added to the data model. -
description string false A short description of the data set alias of the data model. -
dataSetMnemonic string false The name of the associated data set. -
schemaMnemonic string false The name of the schema for the associated data set. -
fieldAliases [FieldAlias] false The list of field aliases for the associated data set alias of the data model. -

FieldAlias

Name Type Required Description Accepted Values
id string false The unique ID of the field alias. -
name string false The alias for the field in the associated data set. -
description string false A short description of the field alias in the associated data set. -
dataType string false The data type of the associated field. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATE_TIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB
fieldMnemonic string false The name of the associated field in the data set.
NOTE: This field is NULL for a field with a calculation function.
-
role string false The role of the field. The following values are possible:
  • DIMENSION: These are the fields used to describe the data record, for example, the name and IDs.
  • MEASURE: These are the fields whose values are derived or aggregated from the DIMENSION type fields, for example, sum and average.
-
visible boolean false Indicates whether the field alias is visible. -
calculationFunction CalculationFunctionDetail false The function used to calculate the field alias in BI tools. -
primaryKey boolean false Indicates whether the field is a primary key. -

CalculationFunctionDetail

Name Type Required Description Accepted Values
functionName string false

The function to be applied to derive the custom field in the BI tools using an existing field alias of the data set alias associated with the data model.

-
fieldAliasName string false The name of the field in the data set to which the calculation function should be applied. -

Join

Name Type Required Description Accepted Values
id string false The unique ID of the join applied to the data sets of the data model. -
leftFieldAlias FieldAliasDetail false The details of the left field alias of the join defined in the data set. -
rightFieldAlias FieldAliasDetail false The details of the right field alias of the join defined in the data set. -
joinType string false The type of join defined in the data set. OUTER_FULL, OUTER_NONE, OUTER_LEFT, OUTER_RIGHT
operator string false The operator for the join defined in the data set. =, >, <, >=, <=

FieldAliasDetail

Name Type Required Description Accepted Values
dataSetAlias string false The name of the data set alias to which the join should be applied. -
fieldAlias string false The name of the field in the data set to which the join should be applied. -

Filter

Name Type Required Description Accepted Values
id string false The unique ID of the filter applied to the data set of the data model. -
dataSetAliasName string false The name of the data set alias to which the filter is applied. -
fieldAliasName string false The name of the field alias of the data set to which the filter is applied. -
operator string false The type of filter operator. =, !=, IS NULL, IS NOT NULL, >, <, >=, <=, BETWEEN, IN, LIKE
value string false This specifies the string to be matched with the value in the specified field when the filter operator is LIKE or =. -
global boolean false Indicates whether the filter is global in scope. If the value is true, the scope of the filter is global and present in all data set aliases associated with the data model. If the value is false, the filter is in only the specified data set alias associated with the data model. -
dataType string false The data type of the field alias. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATETIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB

RowLevelFilter

Name Type Required Description Accepted Values
dataSetAliasName string false The name of the data set alias that specifies user details to extract the entitlement view of the data. -
fieldAliasName string false The name of the field alias in the Data set alias that consists the alias information of the user. NOTE: This field must consist the value of aliases field of the Personnel details specified in the Personnel API. -

NotFound

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

putDataModels

Name Type Required Description Accepted Values
description string false A short description of the data model. -
discoverability string false Discoverability controls who can discover a data model of which they are not already a member. The following values are possible:
  • PUBLIC: Indicates that the data model is visible to all users and anyone can join to have access.
  • PRIVATE: Indicates that the data model is visible to all users but the users cannot join unless a data model member explicitly adds them.
  • HIDDEN: Indicates that the data model is hidden from anyone who does not have access to the data model.
PUBLIC, PRIVATE, HIDDEN
publishTo [string] true This indicates the BI tool to which the data model should be published.
NOTE: Data models can published to one or more BI tools at a time.
BUSINESS_OBJECTS, TABLEAU
dataSetAliases [object] false

The list of data sets to be added to a data model. This includes the list of field aliases that are associated with the data set; if any calculation functions are to be applied on any of the fields, they should also be included in the field aliases list of the data set alias.

-
» name string false The alias for the data set added to the data model. -
» description string false A short description of the data set alias of the data model. -
» dataSetMnemonic string false The name of the associated data set. -
» schemaMnemonic string false The name of the schema for the associated data set. -
» fieldAliases [object] false No description -
»» description string false A short description of the field alias in the associated data set. -
»» dataType string false The data type of the associated field. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATE_TIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB
»» fieldMnemonic string false The name of the associated field in the data set.
NOTE: This field is NULL for a field with a calculation function.
-
»» role string false The role of the field. The following values are possible:
  • DIMENSION: These are the fields used to describe the data record, for example, the name and IDs.
  • MEASURE: These are the fields whose values are derived or aggregated from the DIMENSION type fields, for example, sum and average.
DIMENSION, MEASURE
»» visible boolean false Indicates whether the field alias is visible. -
»» primaryKey boolean false Indicates whether the field is a primary key. -
»» calculationFunction object false No description -
»»» functionName string false

The function to be applied to derive the custom field in the BI tools using an existing field alias of the data set alias associated with the data model.

-
»»» fieldAliasName string false The name of the field in the data set to which the calculation function should be applied. -
»» name string true No description -
joins [object] false The list of joins to be applied between the data sets of the data model. -
» joinType string false The type of join defined in the data set. OUTER_FULL, OUTER_NONE, OUTER_LEFT, OUTER_RIGHT
» operator string false The operator for the join defined in the data set. =, >, <, >=, <=
» leftFieldAlias object false No description -
»» dataSetAlias string false The name of the data set alias to which the join should be applied. -
»» fieldAlias string false The name of the field in the data set to which the join should be applied. -
» rightFieldAlias object false No description -
»» dataSetAlias string false The name of the data set alias to which the join should be applied. -
»» fieldAlias string false The name of the field in the data set to which the join should be applied. -
filters [object] false The list of filters to be included on the data sets or data models. -
» dataSetAliasName string false The name of the data set alias to which the filter is applied. -
» fieldAliasName string false The name of the field alias of the data set to which the filter is applied. -
» operator string false The type of filter operator. =, !=, IS NULL, IS NOT NULL, >, <, >=, <=, BETWEEN, IN, LIKE
» value string false This specifies the string to be matched with the value in the specified field when the filter operator is LIKE or =. -
» global boolean false Indicates whether the filter is global in scope. If the value is true, the scope of the filter is global and present in all data set aliases associated with the data model. If the value is false, the filter is in only the specified data set alias associated with the data model. -
» dataType string false The data type of the field alias. NUMERIC, FLOAT, REAL, DOUBLE, INT, INTEGER, CHAR, VARCHAR, STRING, BOOLEAN, DATETIME, TIMESTAMP, TIMESTAMPTZ, DATE, BINARY, VARBINARY, BLOB
rowLevelFilter object false This specifies the details of the row level security to be applied on the data model. -
» dataSetAliasName string true The name of the data set alias that specifies user details to extract the entitlement view of the data. -
» fieldAliasName string true The name of the field alias in the Data set alias that consists the alias information of the user. NOTE: This field must consist the value of aliases field of the Personnel details specified in the Personnel API. -

Publications

Name Type Required Description Accepted Values
items [Publication] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Publication

Name Type Required Description Accepted Values
id string false The unique ID of the publication. -
status string false The current status of the data model publication. PROCESSING, PUBLISHED, FAILED
errorKey [string] false Specifies whether the error occurred while publishing in BusinessObjects, Tableau, or while creating the versions. PUBLISH_TO_BO_ERROR, PUBLISH_TO_TABLEAU_ERROR, CREATE_PUBLISHED_DATA_MODEL_VERSION_ERROR
errorMessage string false Specifies if the problem was encountered while publishing the data model. -
version integer(int32) false The version of the published data model. -
publishedToBo boolean false Indicates whether the data model has been successfully published to BusinessObjects. -
publishedToTableau boolean false Indicates whether the data model has been successfully published to Tableau. -
createdAt string false The date and time when the publication was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string false The date and time when the publication was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

Versions

Name Type Required Description Accepted Values
items [Version] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Version

Name Type Required Description Accepted Values
versionNumber integer(int32) false The version of the published data model. -
versionLink string false The link to access the published data model version. -

DataModelVersion

Name Type Required Description Accepted Values
name string false The display name of the published data model. -
description string false A short description of the published data model. -
dataSetAliases [DataSetAlias] false No description -
joins [Join] false No description -
filters [Filter] false No description -
rowLevelFilter RowLevelFilter false This specifies the details of the row level security to be applied on the data model. -

Authorizations

Name Type Required Description Accepted Values
items [Authorization] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Authorization

Name Type Required Description Accepted Values
id string false The unique ID of the data model authorization record. -
member Member false The personnel or personnel group who should be authorized to access the data model. -
role string false A data model member’s role defines what actions they are authorized to perform for the data model. The following roles are available:
  • CONSUMER: Consumers can only view the data model.
  • COLLABORATOR: Collaborators can view and edit the data model but not delete it.
  • OWNER: Owners have all privileges for the data model, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR

Member

Name Type Required Description Accepted Values
id string true The ID of the personnel or personnel group who should be authorized to access the data model.
For more information about personnel and personnel groups, see Personnel API.
See the following examples:
  • PERSONNEL: member: { 'id': 'd197260b-e1b2-4e9f-ac8e-d5ed6ada2b37', 'type': 'PERSONNEL' }
  • PERSONNEL_GROUP: member: { 'id': '0246c1a7-374c-426f-9ab0-6e65c51aca2', 'type': 'PERSONNEL_GROUP' }
-
type string true An enumerated list that describes the role that the individual plays in relation to the entity. Currently, the following types are possible:
  • PERSONNEL: A personnel is an employee or affiliate of the tenant organization.
  • PERSONNEL_GROUP: A personnel group is a set of personnel for the tenant organization who are grouped together to give them access to the same features or information.
PERSONNEL, PERSONNEL_GROUP

postDataModelsDatamodelidAuthorizations

Name Type Required Description Accepted Values
authorizations [object] true The list of personnel or personnel groups to be authorized to access the data model. -
» role string true A data model member’s role defines what actions they are authorized to perform for the data model. The following roles are available:
  • CONSUMER: Consumers can only view the data model.
  • COLLABORATOR: Collaborators can view and edit the data model but not delete it.
  • OWNER: Owners have all privileges for the data model, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR
» member object true No description -
»» id string true The ID of the personnel or personnel group who should be authorized to access the data model.
For more information about personnel and personnel groups, see Personnel API.
See the following examples:
  • PERSONNEL: member: { 'id': 'd197260b-e1b2-4e9f-ac8e-d5ed6ada2b37', 'type': 'PERSONNEL' }
  • PERSONNEL_GROUP: member: { 'id': '0246c1a7-374c-426f-9ab0-6e65c51aca2', 'type': 'PERSONNEL_GROUP' }
-
»» type string true An enumerated list that describes the role that the individual plays in relation to the entity. Currently, the following types are possible:
  • PERSONNEL: A personnel is an employee or affiliate of the tenant organization.
  • PERSONNEL_GROUP: A personnel group is a set of personnel for the tenant organization who are grouped together to give them access to the same features or information.
PERSONNEL, PERSONNEL_GROUP

DataModelAuthorization

Name Type Required Description Accepted Values
authorizations [Authorization] false A list of personnel or personnel groups authorized to access the data model. -

MultiStatus

Name Type Required Description Accepted Values
authorizations [Authorization] false A list of individual members authorized to access the data model. -
errors [string] false The members or groups who failed to be provided authorized access to the data model. -

putDataModelsDatamodelidAuthorizations

Name Type Required Description Accepted Values
role string true A data model member’s role defines what actions they are authorized to perform for the data model. The following roles are available:
  • CONSUMER: Consumers can only view the data model.
  • COLLABORATOR: Collaborators can view and edit the data model but not delete it.
  • OWNER: Owners have all privileges for the data model, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR

putReportsReportidAuthorizations

Name Type Required Description Accepted Values
role string true A report member’s role defines what actions they are authorized to perform for the report. The following roles are available:
  • CONSUMER: Consumers can only view the report.
  • COLLABORATOR: Collaborators can view and edit the report but not delete it.
  • OWNER: Owners have all privileges for the report, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR
memberId string true The ID of the personnel or personnel group who should be authorized to access the Report.
For more information about personnel and personnel groups, see Personnel API.
-
memberType string true An enumerated list that describes the role that the individual plays in relation to the entity. Currently, the following types are possible:
  • PERSONNEL: A user is an employee or affiliate of the tenant organization.
  • PERSONNEL_GROUP: A group is a set of personnel users for the tenant organization who are grouped together to give them access to the same features or information.
PERSONNEL, PERSONNEL_GROUP

ReportAuthorization

Name Type Required Description Accepted Values
id string false The unique ID of the report authorization record. -
memberId string true The ID of the personnel or personnel group who should be authorized to access the Report.
For more information about personnel and personnel groups, see Personnel API.
-
memberType string true An enumerated list that describes the role that the individual plays in relation to the entity. Currently, the following types are possible:
  • PERSONNEL: A user is an employee or affiliate of the tenant organization.
  • PERSONNEL_GROUP: A group is a set of personnel users for the tenant organization who are grouped together to give them access to the same features or information.
PERSONNEL, PERSONNEL_GROUP
role string false A Report member’s role defines what actions they are authorized to perform for the report. The following roles are available:
  • CONSUMER: Consumers can only view the report.
  • COLLABORATOR: Collaborators can view and edit the report but not delete it.
  • OWNER: Owners have all privileges for the report, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR

postReportsReportidAuthorizations

Name Type Required Description Accepted Values
role string true A report member’s role defines what actions they are authorized to perform for the report. The following roles are available:
  • CONSUMER: Consumers can only view the report.
  • COLLABORATOR: Collaborators can view and edit the report but not delete it.
  • OWNER: Owners have all privileges for the report, including changing the members and viewing, editing, and deleting it.
OWNER, CONSUMER, COLLABORATOR
memberId string true The ID of the personnel or personnel group who should be authorized to access the Report.
For more information about personnel and personnel groups, see Personnel API.
-
memberType string true An enumerated list that describes the role that the individual plays in relation to the entity. Currently, the following types are possible:
  • PERSONNEL: A user is an employee or affiliate of the tenant organization.
  • PERSONNEL_GROUP: A group is a set of personnel users for the tenant organization who are grouped together to give them access to the same features or information.
PERSONNEL, PERSONNEL_GROUP

Conflict

Name Type Required Description Accepted Values
code integer(int32) true The HTTP response status code that represents the error. -
message string true A human-readable description of the error. -
errorDetails [string] false A list of additional error details. -

ReportAuthorizations

Name Type Required Description Accepted Values
items [ReportAuthorization] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Report

Name Type Required Description Accepted Values
id string true Unique Identifier of the report. -
name string false Name of the Report. -

Capabilities

Name Type Required Description Accepted Values
items [Capability] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Capability

Name Type Required Description Accepted Values
id string false The unique ID of the capability. -
name string false The name of the capability. -
tool string false The name of the BI tool to which capability belongs. BUSINESS_OBJECTS, TABLEAU
description string false A short description of a capability. -

Roles

Name Type Required Description Accepted Values
items [Role] true An array containing the current page of results. -
totalResults integer(int32) false The total number of results for the specified parameters. -
firstLink string true The first page of results. -
lastLink string false The last page of results. -
prevLink string false The previous page of results. -
nextLink string false The next page of results. -

Role

Name Type Required Description Accepted Values
id string false The unique ID of the role. -
name string false The display name of the role. -
description string false A short description of the role. -
capabilities [RoleCapability] false No description -
createdAt string false The date and time when the role was created, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -
updatedAt string false The date and time when the role was last updated, in ISO 8601 YYYY-MM-DDThh:mm:ss.SSSZ format. -

RoleCapability

Name Type Required Description Accepted Values
id string false The unique ID of the capability. -

postRoles

Name Type Required Description Accepted Values
name string true The display name of the role. -
description string false A short description of the role. -
capabilities [object] false The list of capabilities to be added to a role. -
» id string false The unique ID of the capability. -

putRoles

Name Type Required Description Accepted Values
name string false The display name of the role. -
description string false A short description of the role. -
capabilities [object] false The list of capabilities to be updated to a role. -
» id string false The unique ID of the capability. -