NAV
Ruby Shell

Analytics Content Management Public API v1

Note: The data retrieved by this API is not filtered based on sensitive data filters for Oracle Health Data Intelligence. Ensure that your implementations of this API are designed with this in mind. See Understand Sensitive Data in Oracle Health Data Intelligence in the Reference Pages on Cerner Wiki for more information.

The Analytics Content Management (ACM) product is the delivery mechanism for content in HealtheAnalytics. The supported content types are Data Models, Data Sets, Tableau Workbooks, and Workflows. The content imported to ACM is stored as templates, with all tenant-specific values substituted with tokens called content parameters. Content parameters enable content to be shared with various tenants.

Content is grouped together in a package, which can be deployed to tenants. When a package is deployed to a tenant its contents are updated to substitute tokens with tenant-specific content parameter values. After a package is successfully deployed to a tenant, the content is available in HealtheAnalytics.

URL: https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1

Content

The supported content types are Data Models, Data Sets, Tableau Workbooks, and Workflows. Refer to the specific content type sections for more information.

Retrieve a List of Content

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/analytics-content-management/v1/content', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content?offset=0&limit=20"
}

GET /content

Retrieves a list of content.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the content. The behavior of this filter is dependent upon the value of the nameExact parameter. This filter is not case-sensitive, regardless of the value of the nameExact parameter. -
nameExact query boolean false false Modifies the behavior of the name parameter to include exact matches or partial matches. The following options are available:
  • true: only exact matches are included in the response.
  • false (default): partial matches are included in the response.
-
baseContentId query string false N/A Filters the response to include all content that have an exact match with the specified base content ID. This filter is not case-sensitive. -
contentType query string false N/A Filters the response to include all content that have an exact match with the specified content type. This filter is not case-sensitive. -
status query string false N/A Filters the response to include all content that have an exact match with the specified status. This filter is not case-sensitive. -
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. -
orderBy query string false name,contentType,version A comma-separated list of fields by which to sort. name, -name, contentType, -contentType, status, -status, baseContentId, -baseContentId, version, -version, createdAt, -createdAt, updatedAt, -updatedAt

Response Statuses

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

Content Parameters

Content parameters are tenant-specific and created key-value pairs that are used to replace matching tokens in parameterized content prior to deployment of content to a tenant. Content is stored as a template in a parameterized form. The templated form of content may contain tokens (for example, ~~schemaId~~) in place of tenant-specific values. Content parameters may be created for a tenant with key names that match the tokens inside of content. When a deployment is ran for a tenant, the tokens are replaced by a corresponding value of the matching content parameter for the tenant. A deployed content exists with the matching tokens already replaced with the tenant-specific content parameter values.

Create a Content Parameter

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/analytics-content-management/v1/content-parameters', headers: headers, body: {"key":"schemaId","value":"100000002"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content-parameters \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"key":"schemaId","value":"100000002"}

Example response

{
  "id": "cf92a0fa-7536-11eb-9439-0242ac130002",
  "key": "schemaId",
  "value": "100000002",
  "content": {
    "id": "166f7913-002d-4311-9568-ad90773e4555"
  }
}

POST /content-parameters

Creates a content parameter.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created ContentParameter
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

Retrieve a List of Content Parameters

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/analytics-content-management/v1/content-parameters', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "cf92a0fa-7536-11eb-9439-0242ac130002",
      "key": "schemaId",
      "value": "100000002",
      "content": {
        "id": "166f7913-002d-4311-9568-ad90773e4555"
      }
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content-parameters?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content-parameters?offset=0&limit=20"
}

GET /content-parameters

Retrieves a list of content parameters.

Parameters

Parameter In Type Required Default Description Accepted Values
key query array[string] false N/A Filters the response by the name of content parameters. -
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 ContentParameters
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Update a Content Parameter

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/analytics-content-management/v1/content-parameters/0b424e9d-b74a-4b78-9dde-22685ae9cdec', headers: headers, body: {"key":"schemaId","value":"100000002"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content-parameters/0b424e9d-b74a-4b78-9dde-22685ae9cdec \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"key":"schemaId","value":"100000002"}

Example response

{
  "id": "cf92a0fa-7536-11eb-9439-0242ac130002",
  "key": "schemaId",
  "value": "100000002",
  "content": {
    "id": "166f7913-002d-4311-9568-ad90773e4555"
  }
}

PUT /content-parameters/{contentParameterId}

Updates the specified content parameter.

Parameters

Parameter In Type Required Default Description Accepted Values
contentParameterId path string true N/A The ID of the content parameter. -
body body putContentParameters true N/A No description -

Response Statuses

Status Meaning Description Schema
200 OK OK ContentParameter
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

Remove a Content Parameter

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/analytics-content-management/v1/content-parameters/0b424e9d-b74a-4b78-9dde-22685ae9cdec', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content-parameters/0b424e9d-b74a-4b78-9dde-22685ae9cdec \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /content-parameters/{contentParameterId}

Removes the specified content parameter.

Parameters

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

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

Data Models

A data model is a type of content that allows for the creation and management of data sets. This includes establishing 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/analytics-content-management/v1/content/data-models', headers: headers, body: {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"name":"Sample data model name","description":"Sample data model description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"name":"Sample data model name","description":"Sample data model description"}

Example response

{
  "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
  "name": "Sample Data Model Name",
  "description": "Sample Data Model description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100022247"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "definition": {
    "name": "Sample name",
    "discoverability": "PRIVATE",
    "dataModelType": "STANDARD",
    "publishTo": [],
    "enableTableauRelationships": "false",
    "dataSetAliases": [],
    "joins": [],
    "filters": []
  },
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-models

Creates a Draft version of a data model.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created DataModel
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

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/analytics-content-management/v1/content/data-models', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
      "name": "Sample Data Model Name",
      "description": "Sample Data Model description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100022247"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models?offset=0&limit=20"
}

GET /content/data-models

Retrieves a list of data models.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all data models that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all data models that have an exact match with the specified base content 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

Remove 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/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /content/data-models/{dataModelId}

Removes the specified Draft data model.

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/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers, body: {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"description":"Sample data model description","name":"Sample data model name"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"description":"Sample data model description","name":"Sample data model name"}

Example response

{
  "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
  "name": "Sample Data Model Name",
  "description": "Sample Data Model description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100022247"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

PUT /content/data-models/{dataModelId}

Updates the specified Draft data model.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK OK DataModel
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 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/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
  "name": "Sample Data Model Name",
  "description": "Sample Data Model description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100022247"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "definition": {
    "name": "Sample name",
    "discoverability": "PRIVATE",
    "dataModelType": "STANDARD",
    "publishTo": [],
    "enableTableauRelationships": "false",
    "dataSetAliases": [],
    "joins": [],
    "filters": []
  },
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

GET /content/data-models/{dataModelId}

Retrieves the specified data model.

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
200 OK OK DataModel
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Approve a Draft Data Model

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/74ba7db7-252c-4491-8ead-cad8279e9026/approve', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/74ba7db7-252c-4491-8ead-cad8279e9026/approve \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
  "name": "Sample Data Model Name",
  "description": "Sample Data Model description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100022247"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-models/{dataModelId}/approve

Sets the data model status to Approved and makes it available for packaging.

Parameters

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

Response Statuses

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

Create a Data Model From an Approved 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/analytics-content-management/v1/content/data-models/74ba7db7-252c-4491-8ead-cad8279e9026/draft', headers: headers, body: {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"name":"Sample data model name","description":"Sample data model description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-models/74ba7db7-252c-4491-8ead-cad8279e9026/draft \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample Name","discoverability":"PRIVATE","dataModelType":"STANDARD","publishTo":["BUSINESS_OBJECTS","TABLEAU"],"enableTableauRelationships":false,"dataSetAliases":[],"joins":[],"filters":[]},"name":"Sample data model name","description":"Sample data model description"}

Example response

{
  "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
  "name": "Sample Data Model Name",
  "description": "Sample Data Model description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100022247"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-models/{dataModelId}/draft

Creates a Draft data model from an Approved data model.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created DataModel
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 Approved 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/analytics-content-management/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/analytics-content-management/v1/data-models \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "2ab3ec86-f727-43a6-99d0-927052d3b27e",
      "name": "Sample Data Model Name",
      "description": "Sample Data Model description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100022247"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "definition": {
        "name": "Sample name",
        "discoverability": "PRIVATE",
        "dataModelType": "STANDARD",
        "publishTo": [],
        "enableTableauRelationships": "false",
        "dataSetAliases": [],
        "joins": [],
        "filters": []
      },
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/data-models?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/data-models?offset=0&limit=20"
}

GET /data-models

Retrieves a list of Approved data models.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all data models that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all data models that have an exact match with the specified base content 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

Data Sets

A data set is a type of content that is a collection of data and is created in a data warehouse.

Create a Data Set

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/analytics-content-management/v1/content/data-sets', headers: headers, body: {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"name":"Sample data set name","description":"Sample data set description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"name":"Sample data set name","description":"Sample data set description"}

Example response

{
  "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
  "name": "Sample Data Set Name",
  "description": "Sample Data Set description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100035493"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-sets

Creates a Draft version of a data set.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created DataSet
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

Retrieve a List of Data Sets

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/analytics-content-management/v1/content/data-sets', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
      "name": "Sample Data Set Name",
      "description": "Sample Data Set description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100035493"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets?offset=0&limit=20"
}

GET /content/data-sets

Retrieves a list of data sets.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all data sets that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all data sets that have an exact match with the specified base content 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 DataSets
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Remove a Data Set

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/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /content/data-sets/{dataSetId}

Removes the specified Draft data set.

Parameters

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

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 Set

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/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers, body: {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"description":"Sample data set description","name":"Sample data set name"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"description":"Sample data set description","name":"Sample data set name"}

Example response

{
  "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
  "name": "Sample Data Set Name",
  "description": "Sample Data Set description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100035493"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

PUT /content/data-sets/{dataSetId}

Updates the specified Draft data set.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK OK DataSet
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 Single Data Set

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/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
  "name": "Sample Data Set Name",
  "description": "Sample Data Set description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100035493"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "definition": {
    "name": "Sample name",
    "mnemonic": "SAMPLE_MNEMONIC",
    "schemaId": "100000002",
    "truncate": "false",
    "fields": [],
    "transformations": []
  },
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

GET /content/data-sets/{dataSetId}

Retrieves the specified data set.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK OK DataSet
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Approve a Draft Data Set

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275/approve', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/3d9c508b-aaa8-4028-aa3f-a41740d9d275/approve \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
  "name": "Sample Data Set Name",
  "description": "Sample Data Set description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100035493"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-sets/{dataSetId}/approve

Sets the data set status to Approved and makes it available for packaging.

Parameters

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

Response Statuses

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

Create a Data Set From an Approved Data Set

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/analytics-content-management/v1/content/data-sets/15c46493-f624-4c15-9725-4f2b8fe43961/draft', headers: headers, body: {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"name":"Sample data set name","description":"Sample data set description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/data-sets/15c46493-f624-4c15-9725-4f2b8fe43961/draft \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"name":"Sample name","mnemonic":"SAMPLE_MNEMONIC","schemaId":"100000002","truncate":"false","fields":[],"transformations":[]},"name":"Sample data set name","description":"Sample data set description"}

Example response

{
  "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
  "name": "Sample Data Set Name",
  "description": "Sample Data Set description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100035493"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/data-sets/{dataSetId}/draft

Creates a Draft data set from an Approved data set.

Parameters

Parameter In Type Required Default Description Accepted Values
dataSetId path string true N/A The ID of the Approved data set. -
body body postContentDataSetsDatasetidDraft true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created DataSet
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 Approved Data Sets

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/analytics-content-management/v1/data-sets', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "15c46493-f624-4c15-9725-4f2b8fe43961",
      "name": "Sample Data Set Name",
      "description": "Sample Data Set description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100035493"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/data-sets?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/data-sets?offset=0&limit=20"
}

GET /data-sets

Retrieves a list of Approved data sets.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all data sets that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all data sets that have an exact match with the specified base content 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 DataSets
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Deployed Content

A deployed content item is content that has been deployed to a tenant by the Analytics Content Management Public API.

Retrieve a List of Deployed Content

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/analytics-content-management/v1/deployed-content',
  query: {
  'contentType' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployed-content?contentType=type,string,enum,DataModel%2CDataSet%2CDataSource%2CProject%2CWorkbook%2CWorkflow,default,DataSet \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "deployedContent": {
        "id": "a470f2f0-3463-468d-a8a9-ad3374a1ebf6",
        "type": "DataModel"
      },
      "package": {
        "name": "Sample package name",
        "version": 1,
        "deployability": "RESTRICTED",
        "authorizedTenants": [
          {
            "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
          }
        ]
      },
      "deployingTenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "deployedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployed-content?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployed-content?offset=0&limit=20"
}

GET /deployed-content

Retrieves a list of deployed content items.

Parameters

Parameter In Type Required Default Description Accepted Values
contentType query string true DataSet The type of the deployed content. DataModel, DataSet, DataSource, Project, Workbook, Workflow
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 DeployedContents
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a Single Deployed Content

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/analytics-content-management/v1/deployed-content/0b424e9d-b74a-4b78-9dde-22685ae9cdec', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployed-content/0b424e9d-b74a-4b78-9dde-22685ae9cdec \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "deployedContent": {
    "id": "a470f2f0-3463-468d-a8a9-ad3374a1ebf6",
    "type": "DataModel"
  },
  "package": {
    "name": "Sample package name",
    "version": 1,
    "deployability": "RESTRICTED",
    "authorizedTenants": [
      {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      }
    ]
  },
  "deployingTenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "deployedAt": "2021-06-07T20:43:51.000Z"
}

GET /deployed-content/{deployedContentId}

Retrieves the specified deployed content item.

Parameters

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

Response Statuses

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

Deployments

A deployment creates or updates one or more contents identified by a published package to a tenant’s HealtheAnalytics or Tableau site.

Create a Deployment

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/analytics-content-management/v1/deployments', headers: headers, body: {"packageId":"0b424e9d-b74a-4b78-9dde-22685ae9cdec","tenantId":"71b861e8-2240-4466-a6f1-82a34eb5a5fc","paramDefs":{"contentParameters":[{"key":"schemaId","value":"100000002"},{"key":"popId","value":"f616a72f-8a40-486a-99f4-c8075ac840c3"}],"multiSchemaDeploy":{"schemaMnemonic":["SCHEMA_MNEMONIC_1","SCHEMA_MNEMONIC_2"],"schemaType":"POPHEALTH"},"useProjectIdContentParam":false}}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployments \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"packageId":"0b424e9d-b74a-4b78-9dde-22685ae9cdec","tenantId":"71b861e8-2240-4466-a6f1-82a34eb5a5fc","paramDefs":{"contentParameters":[{"key":"schemaId","value":"100000002"},{"key":"popId","value":"f616a72f-8a40-486a-99f4-c8075ac840c3"}],"multiSchemaDeploy":{"schemaMnemonic":["SCHEMA_MNEMONIC_1","SCHEMA_MNEMONIC_2"],"schemaType":"POPHEALTH"},"useProjectIdContentParam":false}}

Example response

{
  "id": "a470f2f0-3463-468d-a8a9-ad3374a1ebf6",
  "status": "waiting",
  "package": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
    "name": "Sample package name",
    "tenant": {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  },
  "targetTenant": {
    "id": "71b861e8-2240-4466-a6f1-82a34eb5a5fc"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  }
}

POST /deployments

Creates a deployment of a package for the specified tenant.

Parameters

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

Response Statuses

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

Deployment Logs

A deployment log contains information about the status of a package deployment for a tenant.

Retrieve a List of Deployment Logs

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/analytics-content-management/v1/deployment-logs', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployment-logs \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "31117e4b-655e-4699-9ba9-5da15b6c2374",
      "package": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
        "name": "Sample package name",
        "tenant": {
          "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
        }
      },
      "deployment": {
        "id": "a470f2f0-3463-468d-a8a9-ad3374a1ebf6",
        "status": "waiting"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "createdAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployment-logs?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/deployment-logs?offset=0&limit=20"
}

GET /deployment-logs

Retrieves a list of deployment logs.

Parameters

Parameter In Type Required Default Description Accepted Values
packageName query string false N/A The name of the package. -
createdAt query string false N/A The date and time the deployment log was created. -
deploymentId query string false N/A The ID of the deployment. -
mostRecentByDeploymentId query boolean false N/A The most recent deployment log is returned from each group. Any other filters are applied on the deployment logs that were returned from each group. -
packageId query string false N/A The ID of the package. -
packageTenantId query string false N/A The ID of the tenant that created the package. -
status query string false N/A The status of the deployment. -
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 DeploymentLogs
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Draft Packages

A draft package is a package that has not been published and is not available for deployment. The name, description, and contents of a package may be modified. Once a draft package is approved it may be published.

Create a Draft Package

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/analytics-content-management/v1/draft-packages', headers: headers, body: {"contents":[{"id":"0b424e9d-b74a-4b78-9dde-22685ae9cdec"}],"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}],"name":"Sample package name","description":"Sample package description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"contents":[{"id":"0b424e9d-b74a-4b78-9dde-22685ae9cdec"}],"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}],"name":"Sample package name","description":"Sample package description"}

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "version": 1,
  "status": "draft",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

POST /draft-packages

Creates a draft package with the supplied contents.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created DraftPackage
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict. The requested package could not be successfully added due to a conflicting entity. The following reasons are possible, among others:
- duplicatePackage A package with same name is already present for the given tenant.
Conflict

Retrieve a List of Draft Packages

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/analytics-content-management/v1/draft-packages', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample package name",
      "description": "Sample package description",
      "version": 1,
      "status": "draft",
      "basePackage": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "deployability": "RESTRICTED",
      "authorizedTenants": [
        {
          "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
        }
      ],
      "contents": [
        {
          "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
          "name": "Sample Content Name",
          "description": "Sample Content description",
          "contentType": "Data Set",
          "version": 1,
          "baseContent": {
            "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
          },
          "status": "approved",
          "contentParameterKeys": [
            "key1",
            "key2"
          ],
          "createdAt": "2021-06-07T20:43:51.000Z",
          "updatedAt": "2021-06-07T20:43:51.000Z"
        }
      ]
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages?offset=0&limit=20"
}

GET /draft-packages

Retrieves a list of draft packages.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the draft packages. The behavior of this filter is dependent upon the value of the nameExact parameter. This filter is not case-sensitive, regardless of the value of the nameExact parameter. -
nameExact query boolean false false Modifies the behavior of the name parameter to include exact matches or partial matches. The following options are available:
  • true: only exact matches are included in the response.
  • false (default): partial matches are included in the response.
-
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 DraftPackages
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Remove a Draft Package

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/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /draft-packages/{packageId}

Removes the specified draft package.

Parameters

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

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 Draft Package

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/analytics-content-management/v1/draft-packages/{packageId}', headers: headers, body: {"name":"Sample package name","deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}],"description":"Sample package description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages/{packageId} \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Sample package name","deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}],"description":"Sample package description"}

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "version": 1,
  "status": "draft",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

PUT /draft-packages/{packageId}

Updates a draft package with the supplied contents and authorizations.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the draft package. -
body body putDraftPackages true N/A No description -

Response Statuses

Status Meaning Description Schema
200 OK OK DraftPackage
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict. The requested package could not be successfully added due to a conflicting entity. The following reasons are possible, among others:
- duplicatePackage A package with same name is already present for the given tenant.
Conflict

Retrieve a Single Draft Package

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/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "version": 1,
  "status": "draft",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

GET /draft-packages/{packageId}

Retrieves the specified draft package.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the package. -
associatedEntities query boolean false N/A Indicates whether the retrieved package should include associated data sets, data models, workflows, workbooks, and projects. 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 DraftPackage
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Publish a Draft Package

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/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/publish', headers: headers, body: {"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/draft-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/publish \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}]}

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "version": 1,
  "status": "published",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

POST /draft-packages/{packageId}/publish

Sets a package status to Published and makes it available to authorized tenants.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the draft package. -
body body postDraftPackagesPackageidPublish true N/A No description -

Response Statuses

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

Packages

Packages are a grouping of related content. A package’s contents may be comprised of of data models, data sets, workflows, projects, and reports (Tableau and BusinessObjects). Packages enable grouping of related content to be deployed to a tenant at the same time. Packages have a lineage. The first package in the lineage is considered the base package (version 1) and all other versions in the lineage derive their package ID from the base package. Packages are considered complete and no longer can be modified. If changes are required, a new draft package must be created.

Retrieve a List of Packages

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/analytics-content-management/v1/packages', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample package name",
      "description": "Sample package description",
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "version": 1,
      "status": "published",
      "basePackage": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "deployability": "RESTRICTED",
      "authorizedTenants": [
        {
          "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
        }
      ],
      "contents": [
        {
          "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
          "name": "Sample Content Name",
          "description": "Sample Content description",
          "contentType": "Data Set",
          "version": 1,
          "baseContent": {
            "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
          },
          "status": "approved",
          "contentParameterKeys": [
            "key1",
            "key2"
          ],
          "createdAt": "2021-06-07T20:43:51.000Z",
          "updatedAt": "2021-06-07T20:43:51.000Z"
        }
      ]
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/packages?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/packages?offset=0&limit=20"
}

GET /packages

Retrieves a list of packages created by the current tenant.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the packages. The behavior of this filter is dependent upon the value of the nameExact parameter. This filter is not case-sensitive, regardless of the value of the nameExact parameter. -
nameExact query boolean false false Modifies the behavior of the name parameter to include exact matches or partial matches. The following options are available:
  • true: only exact matches are included in the response.
  • false (default): partial matches are included in the response.
-
status query string false N/A Filters the response to include all packages that have an exact match with the specified status. This filter is case-sensitive. ARCHIVED, DRAFT, PUBLISHED
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 Packages
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a Single Published Package

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/analytics-content-management/v1/packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec',
  query: {
  'tenantId' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec?tenantId=type,string \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "version": 1,
  "status": "published",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

GET /packages/{packageId}

Retrieves the specified published package.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the package. -
tenantId query string true N/A The ID of the tenant that created the package. -
associatedEntities query boolean false N/A Indicates whether the retrieved package should include associated data sets, data models, workflows, workbooks, and projects. 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 Package
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Update the Authorizations of a Package

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/analytics-content-management/v1/packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/authorizations', headers: headers, body: {"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}]}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/authorizations \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"deployability":"RESTRICTED","authorizedTenants":[{"id":"d4915c6d-d9c1-4708-ba34-71a49f5f5eba"}]}

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ]
}

PUT /packages/{packageId}/authorizations

Updates the authorizations of a package and makes the published package version available to authorized tenants.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the package. -
body body putPackagesPackageidAuthorizations true N/A No description -

Response Statuses

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

Published Packages

Packages are a grouping of related content. A package’s contents may be comprised of of data models, data sets, workflows, projects, and reports (Tableau and BusinessObjects). Packages enable grouping of related content to be deployed to a tenant at the same time. Packages have a lineage. The first package in the lineage is considered the base package (version 1) and all other versions in the lineage derive their package ID from the base package. Published packages are considered complete and no longer can be modified. If changes are required, a new draft package must be created.

Retrieve a List of Published Packages

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/analytics-content-management/v1/published-packages', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/published-packages \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "items": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample package name",
      "description": "Sample package description",
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "version": 1,
      "status": "published",
      "basePackage": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "deployability": "RESTRICTED",
      "authorizedTenants": [
        {
          "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
        }
      ],
      "contents": [
        {
          "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
          "name": "Sample Content Name",
          "description": "Sample Content description",
          "contentType": "Data Set",
          "version": 1,
          "baseContent": {
            "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
          },
          "status": "approved",
          "contentParameterKeys": [
            "key1",
            "key2"
          ],
          "createdAt": "2021-06-07T20:43:51.000Z",
          "updatedAt": "2021-06-07T20:43:51.000Z"
        }
      ]
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/published-packages?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/published-packages?offset=0&limit=20"
}

GET /published-packages

Retrieves a list of Published packages to which the current tenant has access, whether or not they were created by the current tenant.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response by the name of the published packages. The behavior of this filter is dependent upon the value of the nameExact parameter. This filter is not case-sensitive, regardless of the value of the nameExact parameter. -
nameExact query boolean false false Modifies the behavior of the name parameter to include exact matches or partial matches. The following options are available:
  • true: only exact matches are included in the response.
  • false (default): partial matches are included in the response.
-
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 PublishedPackages
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Retrieve a Single Published Package

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/analytics-content-management/v1/published-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec',
  query: {
  'tenantId' => 'string'
}, headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/published-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec?tenantId=type,string \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "version": 1,
  "status": "published",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

GET /published-packages/{packageId}

Retrieves the specified published package.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the package. -
tenantId query string true N/A The ID of the tenant that created the package. -
associatedEntities query boolean false N/A Indicates whether the retrieved package should include associated data sets, data models, workflows, workbooks, and projects. 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 PublishedPackage
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Create a Draft Package From a Published Package

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/analytics-content-management/v1/published-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/draft', headers: headers, body: {"name":"Sample package name","contents":[{"id":"0b424e9d-b74a-4b78-9dde-22685ae9cdec"}],"description":"Sample package description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/published-packages/0b424e9d-b74a-4b78-9dde-22685ae9cdec/draft \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"name":"Sample package name","contents":[{"id":"0b424e9d-b74a-4b78-9dde-22685ae9cdec"}],"description":"Sample package description"}

Example response

{
  "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
  "name": "Sample package name",
  "description": "Sample package description",
  "version": 1,
  "status": "draft",
  "basePackage": {
    "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
  },
  "deployability": "RESTRICTED",
  "authorizedTenants": [
    {
      "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
    }
  ],
  "contents": [
    {
      "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec",
      "name": "Sample Content Name",
      "description": "Sample Content description",
      "contentType": "Data Set",
      "version": 1,
      "baseContent": {
        "id": "0b424e9d-b74a-4b78-9dde-22685ae9cdec"
      },
      "status": "approved",
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ]
}

POST /published-packages/{packageId}/draft

Create a new Draft version of the package from the Published version of the package and make it available for editing.

Parameters

Parameter In Type Required Default Description Accepted Values
packageId path string true N/A The ID of the published package. -
body body postPublishedPackagesPackageidDraft true N/A No description -

Response Statuses

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

Workbooks

A workbook is a type of content that contains one or more sheets which consist of one or more views for data visualization.

Create a Workbook

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
  "name": "Sample Workbook Name",
  "description": "Sample Workbook description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workbooks

Creates a Draft version of a workbook.
The request must use a multipart/form-data content type.
Parameters

Response Statuses

Status Meaning Description Schema
201 Created Created Workbook
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

Update a Workbook

Example Request:


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

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

result = HTTParty.put('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
  "name": "Sample Workbook Name",
  "description": "Sample Workbook description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

PUT /content/workbooks/{workbookId}

Updates the Draft version of a workbook.
The request must use a multipart/form-data content type.
Parameters

Parameters

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

Response Statuses

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

Remove a Workbook

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/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /content/workbooks/{workbookId}

Removes the specified Draft workbook.

Parameters

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

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 Workbook

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/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99 \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
  "name": "Sample Workbook Name",
  "description": "Sample Workbook description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

GET /content/workbooks/{workbookId}

Retrieves the specified workbook.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK OK Workbook
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Approve a Draft Workbook

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99/approve', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99/approve \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
  "name": "Sample Workbook Name",
  "description": "Sample Workbook description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workbooks/{workbookId}/approve

Sets the workbook status to Approved and makes it available for packaging.

Parameters

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

Response Statuses

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

Create a Workbook From an Approved Workbook

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99/draft', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workbooks/3ebc5069-18e0-4639-b38a-14baaf4faa99/draft \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
  "name": "Sample Workbook Name",
  "description": "Sample Workbook description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workbooks/{workbookId}/draft

Creates a Draft workbook from an Approved workbook.
The request must use a multipart/form-data content type.
Parameters

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created Workbook
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 Approved Workbooks

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/analytics-content-management/v1/workbooks', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "3ebc5069-18e0-4639-b38a-14baaf4faa99",
      "name": "Sample Workbook Name",
      "description": "Sample Workbook description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "7822a037-e220-438e-bf2e-310a1ac50c1e"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/workbooks?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/workbooks?offset=0&limit=20"
}

GET /workbooks

Retrieves a list of Approved workbooks.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all workbooks that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all workbooks that have an exact match with the specified base content 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 Workbooks
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Workflows

A workflow is a type of content used to process one or many data sets and create processing dependencies between data sets.

Create a Workflow

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/analytics-content-management/v1/content/workflows', headers: headers, body: {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"name":"Sample workflow name","description":"Sample workflow description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"name":"Sample workflow name","description":"Sample workflow description"}

Example response

{
  "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
  "name": "Sample Workflow Name",
  "description": "Sample Workflow description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100000480"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workflows

Creates a Draft version of a workflow.

Parameters

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

Response Statuses

Status Meaning Description Schema
201 Created Created Workflow
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
409 Conflict Conflict Conflict

Retrieve a List of Workflows

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/analytics-content-management/v1/content/workflows', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
      "name": "Sample Workflow Name",
      "description": "Sample Workflow description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100000480"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows?offset=0&limit=20"
}

GET /content/workflows

Retrieves a list of workflows.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all workflows that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all workflows that have an exact match with the specified base content 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 Workflows
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Remove a Workflow

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/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

DELETE /content/workflows/{workflowId}

Removes the specified Draft workflow.

Parameters

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

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 Workflow

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/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f', headers: headers, body: {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"description":"Sample workflow description","name":"Sample workflow name"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X PUT https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"description":"Sample workflow description","name":"Sample workflow name"}

Example response

{
  "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
  "name": "Sample Workflow Name",
  "description": "Sample Workflow description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100000480"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

PUT /content/workflows/{workflowId}

Updates the specified Draft workflow.

Parameters

Parameter In Type Required Default Description Accepted Values
workflowId path string true N/A The ID of the workflow. -
body body putContentWorkflows true N/A No description -

Response Statuses

Status Meaning Description Schema
200 OK OK Workflow
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 Single Workflow

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/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
  "name": "Sample Workflow Name",
  "description": "Sample Workflow description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100000480"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "definition": {
    "dataSets": [
      {
        "id": "15c46493-f624-4c15-9725-4f2b8fe43961"
      }
    ]
  },
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

GET /content/workflows/{workflowId}

Retrieves the specified workflow.

Parameters

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

Response Statuses

Status Meaning Description Schema
200 OK OK Workflow
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden
404 Not Found Not Found NotFound

Approve a Draft Workflow

Example Request:


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

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

result = HTTParty.post('https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f/approve', headers: headers)

print JSON.pretty_generate(result)


# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f/approve \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'

Example response

{
  "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
  "name": "Sample Workflow Name",
  "description": "Sample Workflow description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100000480"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workflows/{workflowId}/approve

Sets the workflow status to Approved and makes it available for packaging.

Parameters

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

Response Statuses

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

Create a Workflow From an Approved Workflow

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/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f/draft', headers: headers, body: {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"name":"Sample workflow name","description":"Sample workflow description"}.to_json )

print JSON.pretty_generate(result)




# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/content/workflows/40b3ea46-fcae-47c1-a51b-d2793771358f/draft \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \ \
-H 'Accept: application/json' \
-d {"definition":{"dataSets":[{"id":"15c46493-f624-4c15-9725-4f2b8fe43961"}]},"name":"Sample workflow name","description":"Sample workflow description"}

Example response

{
  "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
  "name": "Sample Workflow Name",
  "description": "Sample Workflow description",
  "status": "approved",
  "version": 1,
  "baseContent": {
    "id": "100000480"
  },
  "tenant": {
    "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
  },
  "contentParameterKeys": [
    "key1",
    "key2"
  ],
  "createdAt": "2021-06-07T20:43:51.000Z",
  "updatedAt": "2021-06-07T20:43:51.000Z"
}

POST /content/workflows/{workflowId}/draft

Creates a Draft workflow from an Approved workflow.

Parameters

Parameter In Type Required Default Description Accepted Values
workflowId path string true N/A The ID of the Approved workflow. -
body body postContentWorkflowsWorkflowidDraft true N/A No description -

Response Statuses

Status Meaning Description Schema
201 Created Created Workflow
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 Approved Workflows

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/analytics-content-management/v1/workflows', headers: headers)

print JSON.pretty_generate(result)


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

Example response

{
  "items": [
    {
      "id": "40b3ea46-fcae-47c1-a51b-d2793771358f",
      "name": "Sample Workflow Name",
      "description": "Sample Workflow description",
      "status": "approved",
      "version": 1,
      "baseContent": {
        "id": "100000480"
      },
      "tenant": {
        "id": "d4915c6d-d9c1-4708-ba34-71a49f5f5eba"
      },
      "contentParameterKeys": [
        "key1",
        "key2"
      ],
      "createdAt": "2021-06-07T20:43:51.000Z",
      "updatedAt": "2021-06-07T20:43:51.000Z"
    }
  ],
  "totalResults": 1,
  "firstLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/workflows?offset=0&limit=20",
  "lastLink": "https://cernerdemo.api.us-1.healtheintent.com/analytics-content-management/v1/workflows?offset=0&limit=20"
}

GET /workflows

Retrieves a list of Approved workflows.

Parameters

Parameter In Type Required Default Description Accepted Values
name query string false N/A Filters the response to include all workflows that contain the specified name. This filter is not case-sensitive. -
baseContentId query string false N/A Filters the response to include all workflows that have an exact match with the specified base content 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 Workflows
400 Bad Request Bad Request BadRequest
401 Unauthorized Unauthorized Unauthorized
403 Forbidden Forbidden Forbidden

Schema Definitions

Content

Name Type Required Description Accepted Values
id string true The unique ID of a content object. -
name string true The human-friendly name of the Content Object. This value cannot exceed 255 characters. -
description string true The user defined description of the Content Object. This value cannot exceed 2000 characters. -
contentType string true The type of Content Object. -
version integer(int32) true The current version of the Content Object. -
baseContent BaseContentIdReference true The unique analytics data warehouse ID of the content. -
status string true The status of the content. -
tenant TenantIdReference true The tenant that owns the content. -
contentParameterKeys [string] false The content parameter keys contained in the content. -
createdAt string true The date and time the content was created. -
updatedAt string true The date and time the content was updated. -

BaseContentIdReference

Name Type Required Description Accepted Values
id string true The ID of the base content. -

TenantIdReference

Name Type Required Description Accepted Values
id string true The ID of the tenant. -

ContentParameter

Name Type Required Description Accepted Values
id string true The unique ID of the content parameter. -
key string true The name of the content parameter. This value cannot exceed 255 characters. -
value string true The value of the content parameter. This value cannot exceed 255 characters. -
content ContentIdReference true The content for the content parameter. -

ContentIdReference

Name Type Required Description Accepted Values
id string true The ID of the content. -

DataModel

Name Type Required Description Accepted Values
id string true The unique ID of the data model. -
name string true The human-friendly name of the data model. This value cannot exceed 255 characters. -
description string true The user defined description of the data model. -
status string true The status of the data model. -
version integer(int32) true The version of the data model. -
baseContent BaseContentIdReference true The unique Business Intelligence ID of the data model. -
tenant TenantIdReference true The tenant that approved the data model. -
contentParameterKeys [string] false The content parameter keys contained in the data model. -
definition object false The object that makes up the data model. -
createdAt string true The date and time the data model was created. -
updatedAt string true The date and time the data model was updated. -

DataSet

Name Type Required Description Accepted Values
id string true The unique ID of the data set. -
name string true The human-friendly name of the data set. This value cannot exceed 255 characters. -
description string true The user defined description of the data set. -
status string true The status of the data set. -
version integer(int32) true The version of the data set. -
baseContent BaseContentIdReference true The unique Analytics Data Warehouse ID of the data set. -
tenant TenantIdReference true The tenant that approved the data set. -
contentParameterKeys [string] false The content parameter keys contained in the data set. -
definition object false The object that makes up the data set. -
createdAt string true The date and time the data set was created. -
updatedAt string true The date and time the data set was updated. -

DeployedContent

Name Type Required Description Accepted Values
deployedContent DeployedContentReference true The deployed content. -
package DeployedContentPackage true The package to which the deployed content belongs to. -
deployingTenant TenantIdReference true The tenant that deployed the content. -
deployedAt string true The date and time the content is deployed. -

DeployedContentReference

Name Type Required Description Accepted Values
id string true The ID of the deployed content. -
type string true The type of deployed content. The following types are possible: DataModel, DataSet, DataSource, Project, Workbook, and Workflow. DataModel, DataSet, DataSource, Project, Workbook, Workflow

DeployedContentPackage

Name Type Required Description Accepted Values
name string true The human-friendly name of the Package. This value cannot exceed 255 characters. -
version integer(int32) true The current version of the package. -
deployability string false Deployability denotes the tenants that can deploy this package. The following values are possible:
  • PRIVATE: Denotes the package can be deployed to only the tenant that created the package.
  • PUBLIC: Denotes the package can be deployed to all tenants.
  • RESTRICTED: Denotes the package can only be deployed to the tenants present in the authorizedTenants list.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [TenantIdReference] false A list of tenants that are authorized to view and deploy the package. -

Deployment

Name Type Required Description Accepted Values
id string true The unique ID of the deployment. -
status string true The status of the deployment. -
package PackageReference true The package being deployed. -
targetTenant TargetTenantIdReference true The tenant that is targeted for deployment. -
tenant TenantIdReference true The tenant that created and published the package. -

PackageReference

Name Type Required Description Accepted Values
id string true The ID of the package. -
name string true The human-friendly name of the package. This value cannot exceed 255 characters. -
tenant TenantIdReference true The tenant that created the package. -

TargetTenantIdReference

Name Type Required Description Accepted Values
id string true The ID of the target tenant. -

DeploymentLog

Name Type Required Description Accepted Values
id string true The ID of the deployment log. -
package PackageReference true The package. -
deployment DeploymentReference true The deployment. -
tenant TenantIdReference true The tenant for which the deployment was created. -
createdAt string true The date and time the deployment log was created. -

DeploymentReference

Name Type Required Description Accepted Values
id string true The ID of the deployment. -
status string true The status of the deployment. -

DraftPackage

Name Type Required Description Accepted Values
id string true The unique ID of the package. -
name string true The human-friendly name of the package. This value cannot exceed 255 characters. -
description string true The user-defined description of the package. This value cannot exceed 2000 characters. -
version integer(int32) true The current version of the package. -
status string true The status of the package. -
basePackage BasePackageIdReference true The base package of the draft package. -
deployability string false Deployability denotes the tenants that can deploy this package. The following values are possible:
  • PRIVATE: Denotes the package can be deployed only to the tenant that created the package.
  • PUBLIC: Denotes the package can be deployed to all tenants.
  • RESTRICTED: Denotes the package can be deployed only to the tenants present in the authorizedTenants list.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [TenantIdReference] false A list of tenants that are authorized to view and deploy the published version of the package. -
contents [PackageContent] false No description -

BasePackageIdReference

Name Type Required Description Accepted Values
id string true The ID of the base package. -

PackageContent

Name Type Required Description Accepted Values
id string true The unique ID of a content object. -
name string true The human-friendly name of the Content Object. This value cannot exceed 255 characters. -
description string true The user defined description of the Content Object. This value cannot exceed 2000 characters. -
contentType string true The type of Content Object. -
version integer(int32) true The current version of the Content Object. -
baseContent BaseContentIdReference true The unique analytics data warehouse ID of the content. -
status string true The status of the content. -
contentParameterKeys [string] false The content parameter keys contained in the content. -
createdAt string true The date and time the content was created. -
updatedAt string true The date and time the content was updated. -

Package

Name Type Required Description Accepted Values
id string true The unique ID of a package. -
name string true The human-friendly name of the Package. This value cannot exceed 255 characters. -
description string false The user-defined description of the package. This value cannot exceed 2000 characters. -
tenant TenantIdReference true The tenant that created the package. -
version integer(int32) true The current version of the package. -
status string true The status of the package. -
basePackage BasePackageIdReference true The base package of the package. -
deployability string false Deployability denotes the tenants that can deploy this package. The following values are possible:
  • PRIVATE: Denotes the package can be deployed to only the tenant that created the package.
  • PUBLIC: Denotes the package can be deployed to all tenants.
  • RESTRICTED: Denotes the package can only be deployed to the tenants present in the authorizedTenants list.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [TenantIdReference] false A list of tenants that are authorized to view and deploy the package. -
contents [PackageContent] false No description -

PublishedPackage

Name Type Required Description Accepted Values
id string true The unique ID of a package. -
name string true The human-friendly name of the Package. This value cannot exceed 255 characters. -
description string false The user defined description of the package. This value cannot exceed 2000 characters. -
tenant TenantIdReference true The tenant that created the package. -
version integer(int32) true The current version of the package. -
status string true The status of the package. -
basePackage BasePackageIdReference true The base package of the package. -
deployability string false Deployability denotes the tenants that can deploy this package. The following values are possible:
  • PRIVATE: Denotes the package can be deployed to only the tenant that created the package.
  • PUBLIC: Denotes the package can be deployed to all tenants.
  • RESTRICTED: Denotes the package can only be deployed to the tenants present in the authorizedTenants list.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [TenantIdReference] false A list of tenants that are authorized to view and deploy the package. -
contents [PackageContent] false No description -

Workbook

Name Type Required Description Accepted Values
id string true The unique ID of the workbook. -
name string true The human-friendly name of the workbook. This value cannot exceed 255 characters. -
description string true The user defined description of the workbook. -
status string true The status of the workbook. -
version integer(int32) true The version of the workbook. -
baseContent BaseContentIdReference true The unique Business Intelligence ID of the workbook. -
tenant TenantIdReference true The tenant that approved the workbook. -
contentParameterKeys [string] false The content parameter keys contained in the workbook. -
createdAt string true The date and time the workbook was created. -
updatedAt string true The date and time the workbook was updated. -

Workflow

Name Type Required Description Accepted Values
id string true The unique ID of the workflow. -
name string true The human-friendly name of the workflow. This value cannot exceed 255 characters. -
description string true The user defined description of the workflow. -
status string true The status of the workflow. -
version integer(int32) true The version of the workflow. -
baseContent BaseContentIdReference true The unique Analytics Data Warehouse ID of the workflow. -
tenant TenantIdReference true The tenant that approved the workflow. -
contentParameterKeys [string] false The content parameter keys contained in the workflow. -
definition object false The object that makes up the workflow. -
createdAt string true The date and time the workflow was created. -
updatedAt string true The date and time the workflow was updated. -

Packages

Name Type Required Description Accepted Values
items [Package] 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. -

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. -

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. -

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. -

putPackagesPackageidAuthorizations

Name Type Required Description Accepted Values
deployability string true Deployability indicates the tenants that are authorized to view and deploy the package once published. The following values are possible:
  • PRIVATE: Indicates that only the tenant that created the package will have access.
  • PUBLIC: Indicates all tenants will have access to the package.
  • RESTRICTED: Indicates the tenants listed in the authorizedTenants list will have access. If this value is passed, then authorizedTenants is required.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [object] true A list of tenant IDs that are authorized to view and deploy the package once published. -
» id string true The ID of the tenant. -

PackageAuthorizations

Name Type Required Description Accepted Values
id string true The unique ID of a package. -
basePackage BasePackageIdReference true The base package of the package. -
deployability string false Deployability denotes the tenants that can deploy this package. The following values are possible:
  • PRIVATE: Denotes the package can be deployed to only the tenant that created the package.
  • PUBLIC: Denotes the package can be deployed to all tenants.
  • RESTRICTED: Denotes the package can be deployed only to the tenants present in the authorizedTenants list.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [TenantIdReference] false A list of tenants that are authorized to view and deploy the published package. -

PublishedPackages

Name Type Required Description Accepted Values
items [PublishedPackage] 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. -

postPublishedPackagesPackageidDraft

Name Type Required Description Accepted Values
name string true The display name of the package. -
contents [object] true The list of content to be added to the package. -
» id string true The ID of the content. -
description string false The description of the package. -

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. -

postDraftPackages

Name Type Required Description Accepted Values
contents object true List of contents to be added to the package. -
deployability string true Deployability indicates the tenants that are authorized to view and deploy the package once published. The following values are possible:
  • PRIVATE: Indicates that only the tenant that created the package will have access.
  • PUBLIC: Indicates all tenants will have access to the package.
  • RESTRICTED: Indicates the tenants listed in the authorizedTenants list will have access. If this value is passed, then authorizedTenants is required.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [object] true A list of tenant IDs that are authorized to view and deploy the package once published. -
» id string true The ID of the tenant. -
name string true The display name of the package. -
description string false Description of the package. -

DraftPackages

Name Type Required Description Accepted Values
items [DraftPackage] 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. -

putDraftPackages

Name Type Required Description Accepted Values
name string true The display name of the package. -
deployability string true Deployability indicates the tenants that are authorized to view and deploy the package once published. The following values are possible:
  • PRIVATE: Indicates that only the tenant that created the package will have access.
  • PUBLIC: Indicates all tenants will have access to the package.
  • RESTRICTED: Indicates the tenants listed in the authorizedTenants list will have access. If this value is passed, then authorizedTenants is required.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [object] true A list of tenant IDs that are authorized to view and deploy the package once published. -
» id string true The ID of the tenant. -
contents [object] true List of contents to be added to the package. -
» id string true The ID of the content. -
description string false Description of the package. -

postDraftPackagesPackageidPublish

Name Type Required Description Accepted Values
deployability string true Deployability indicates the tenants that are authorized to view and deploy the package once published. The following values are possible:
  • PRIVATE: Indicates that only the tenant that created the package will have access.
  • PUBLIC: Indicates all tenants will have access to the package.
  • RESTRICTED: Indicates the tenants listed in the authorizedTenants list will have access. If this value is passed, then authorizedTenants is required.
PRIVATE, PUBLIC, RESTRICTED
authorizedTenants [object] true A list of tenant IDs that are authorized to view and deploy the package once published. -
» id string true The ID of the tenant. -

Contents

Name Type Required Description Accepted Values
items [Content] 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. -

postContentDataSets

Name Type Required Description Accepted Values
definition object true The object that makes up the data set. -
name string true The display name of the data set. -
description string false The description of the data set. -

DataSets

Name Type Required Description Accepted Values
items [DataSet] 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. -

putContentDataSets

Name Type Required Description Accepted Values
definition object true The object that makes up the data set. -
description string true The description of the data set. -
name string true The display name of the data set. -

postContentDataSetsDatasetidDraft

Name Type Required Description Accepted Values
definition object true The object that makes up the data set. -
name string true The display name of the data set. -
description string false The description of the data set. -

postContentDataModels

Name Type Required Description Accepted Values
definition object true The object that makes up the data model. -
name string true The display name of the data model. -
description string false The description of the data model. -

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. -

putContentDataModels

Name Type Required Description Accepted Values
definition object true The object that makes up the data model. -
description string true The description of the data model. -
name string true The display name of the data model. -

postContentDataModelsDatamodelidDraft

Name Type Required Description Accepted Values
definition object true The object that makes up the data model. -
name string true The display name of the data model. -
description string false The description of the data model. -

postContentWorkflows

Name Type Required Description Accepted Values
definition object true The object that makes up the workflow. -
» dataSets [object] true List of data sets that belongs to the workflow. -
»» id string true The ID of the data set. -
name string true The display name of the workflow. -
description string false The description of the workflow. -

Workflows

Name Type Required Description Accepted Values
items [Workflow] 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. -

putContentWorkflows

Name Type Required Description Accepted Values
definition object true The object that makes up the workflow. -
» dataSets [object] true List of data sets that belong to the workflow. -
»» id string true The ID of the data set. -
description string true The description of the workflow. -
name string true The display name of the workflow. -

postContentWorkflowsWorkflowidDraft

Name Type Required Description Accepted Values
definition object true The object that makes up the workflow. -
» dataSets [object] true List of data sets that belong to the workflow. -
»» id string true The ID of the data set. -
name string true The display name of the workflow. -
description string false The description of the workflow. -

postContentParameters

Name Type Required Description Accepted Values
key string true The name of the content parameter. -
value string true The value of the content parameter. -
encrypted boolean false Flag determining if value should be encrypted in the database. -

ContentParameters

Name Type Required Description Accepted Values
items [ContentParameter] 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. -

putContentParameters

Name Type Required Description Accepted Values
key string true The name of the content parameter. -
value string true The value of the content parameter. -
encrypted boolean false Flag determining if value should be encrypted in the database. -

postDeployments

Name Type Required Description Accepted Values
packageId string true The unique ID of the package to deploy. -
tenantId string true The ID of the tenant that created the package being deployed. -
paramDefs object false This contains optional inputs used by deployment logic to target the deployment of Tableau content to a specific Tableau project and one more schemas. This may contain a manifest of content parameters which is a tenant-specific list of key-value pairs that are used during deployment processing to replace matching tokens in parameterized content. -
» contentParameters [object] false The manifest of content parameters. This is a tenant-specific list of key-value pairs that are used during deployment processing to replace matching tokens in parameterized content prior to deployment of content to a tenant. If a content that is queued to be deployed to a tenant has a token found within it known as ~~tokenName~~, then deployment processing will replace ~~tokenName~~ with the value of the content parameter that has the tokenName key. Matching content parameters must exist for all tokens found in content in order for the content to be deployable to a tenant. -
»» key string false The name of the content parameter. -
»» value string false The value of the content parameter. -
» multiSchemaDeploy object false This identifies the schemas to which Tableau content is deployed. -
»» schemaMnemonic [string] false The mnemonics for the schema type. -
»» schemaType string false The type of schema. -
» useProjectIdContentParam boolean false If set to true, Tableau content is deployed to a specific project identified by the replacetableauprojectid content parameter. In this case, replacetableauprojectid is a content parameter that must exist in the contentParameters manifest. If set to false, Tableau content is deployed to the default project. -

DeploymentLogs

Name Type Required Description Accepted Values
items [DeploymentLog] 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. -

DeployedContents

Name Type Required Description Accepted Values
items [DeployedContent] 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. -

Workbooks

Name Type Required Description Accepted Values
items [Workbook] 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. -