Soarian ODS Public API v1
Soarian ODS Public API is designed to meet the requirements of use case related to Soarian Financial operational data store (ODS) near realtime streaming jobs for processing continuously streamed data in low latency into Oracle Health Data Intelligence platform from Soarian ODS.
URL: https://cernerdemo.api.us-1.healtheintent.com/soarian-ods/v1
NRT Jobs
Near Real Time (NRT) Jobs are the Soarian ODS stream processing jobs that are triggered to initiate low latency data consumption from downstream UDI queues and then persisted to a Health Data Intelligence Analytics warehouse.
Creates an NRT Job
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/soarian-ods/v1/nrt-jobs', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X POST https://cernerdemo.api.us-1.healtheintent.com/soarian-ods/v1/nrt-jobs \
-H 'Authorization: {auth_header}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json'
Example response
{
"id": "c5d5f79c-72b3-43c6-91ec-b8692700311c",
"name": "sfhiscrum_dae0c7be-ba27-4662-a5f7-eeb9952c8a3f_8e759a16-d37d-4930-bc7c-b22fad228def",
"status": "running",
"dataSource": {
"id": "8e759a16-d37d-4930-bc7c-b22fad228def"
},
"warehouseSchema": "warehouse_schema",
"failureMessage": "null",
"createdAt": "2020-05-03T11:32:57.041Z",
"updatedAt": "2020-05-06T10:01:21.025Z"
}
POST /nrt-jobs
Creates an NRT job to trigger Soarian ODS stream processing pipeline for a tenant data source.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
body | body | postNrtJobs | true | N/A | No description | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Accepted | SoarianOdsPublicApi_V1_NrtJob |
400 | Bad Request | Bad Request | Error |
401 | Unauthorized | Unauthorized | Error |
403 | Forbidden | Forbidden | Error |
500 | Internal Server Error | Internal Server Error | Error |
Retrieve a List of NRT Jobs
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/soarian-ods/v1/nrt-jobs', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/soarian-ods/v1/nrt-jobs \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"items": [
{
"id": "c5d5f79c-72b3-43c6-91ec-b8692700311c",
"name": "sfhiscrum_dae0c7be-ba27-4662-a5f7-eeb9952c8a3f_8e759a16-d37d-4930-bc7c-b22fad228def",
"status": "running",
"dataSource": {
"id": "8e759a16-d37d-4930-bc7c-b22fad228def"
},
"warehouseSchema": "warehouse_schema",
"failureMessage": "null",
"createdAt": "2020-05-03T11:32:57.041Z",
"updatedAt": "2020-05-06T10:01:21.025Z"
}
],
"totalResults": 1,
"firstLink": "https://cernerdemo.api.us-1.healtheintent.com/example/v1/examples?offset=0&limit=20",
"lastLink": "https://cernerdemo.api.us-1.healtheintent.com/example/v1/examples?offset=0&limit=20"
}
GET /nrt-jobs
Retrieves all NRT jobs running for a tenant in Soarian ODS.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
dataSourceId | query | string | false | N/A | Filters the jobs with a specified datasource ID. | - |
status | query | string | false | N/A | Filters the jobs with a specified job status. | - |
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 | NrtJobs |
401 | Unauthorized | Unauthorized | Error |
403 | Forbidden | Forbidden | Error |
500 | Internal Server Error | Internal Server Error | Error |
Deletes a particular NRT Job
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/soarian-ods/v1/nrt-jobs/{nrtJobId}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X DELETE https://cernerdemo.api.us-1.healtheintent.com/soarian-ods/v1/nrt-jobs/{nrtJobId} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
DELETE /nrt-jobs/{nrtJobId}
Deletes the specified NRT job running for the Soarian ODS tenant.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
nrtJobId | path | string | true | N/A | The ID of the NRT job. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
202 | Accepted | Accepted | SoarianOdsPublicApi_V1_NrtJob |
401 | Unauthorized | Unauthorized | Error |
403 | Forbidden | Forbidden | Error |
404 | Not Found | Not Found | Error |
500 | Internal Server Error | Internal Server Error | Error |
Retrieve a Single Nrt Job
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/soarian-ods/v1/nrt-jobs/{nrtJobId}', headers: headers)
print JSON.pretty_generate(result)
# You can also use wget
curl -X GET https://cernerdemo.api.us-1.healtheintent.com/soarian-ods/v1/nrt-jobs/{nrtJobId} \
-H 'Authorization: {auth_header}' \
-H 'Accept: application/json'
Example response
{
"id": "c5d5f79c-72b3-43c6-91ec-b8692700311c",
"name": "sfhiscrum_dae0c7be-ba27-4662-a5f7-eeb9952c8a3f_8e759a16-d37d-4930-bc7c-b22fad228def",
"status": "running",
"dataSource": {
"id": "8e759a16-d37d-4930-bc7c-b22fad228def"
},
"warehouseSchema": "warehouse_schema",
"failureMessage": "null",
"createdAt": "2020-05-03T11:32:57.041Z",
"updatedAt": "2020-05-06T10:01:21.025Z"
}
GET /nrt-jobs/{nrtJobId}
Retrieves the specified NRT job running for the Soarian ODS tenant.
Parameters
Parameter | In | Type | Required | Default | Description | Accepted Values |
---|---|---|---|---|---|---|
nrtJobId | path | string | true | N/A | The ID of the NRT job. | - |
Response Statuses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | SoarianOdsPublicApi_V1_NrtJob |
401 | Unauthorized | Unauthorized | Error |
403 | Forbidden | Forbidden | Error |
404 | Not Found | Not Found | Error |
500 | Internal Server Error | Internal Server Error | Error |
Schema Definitions
postNrtJobs
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
dataSourceId | string | true | The ID to define a particular data source. | - |
tenantRecordTypeSetId | string | true | The ID to define a particular record type set for a tenant. | - |
warehouseSchema | string | false | The model warehouse schema to load data. | - |
SoarianOdsPublicApi_V1_NrtJob
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
id | string | true | The ID of the created NRT job in service. | - |
name | string | true | The name of the created NRT job in service. | - |
status | string | true | The indicator for status of the job. | - |
dataSource | object | true | The data source for which the job is executed. | - |
warehouseSchema | string | true | The schema used to populate the models in sink. | - |
failureMessage | string | false | Displays a generic message and is displayed only when the status is either failed or termination_failed (deprecated) | - |
createdAt | string | true | The date and time when the NRT job was created, in ISO YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
updatedAt | string | true | The date and time when the NRT job was updated, in ISO YYYY-MM-DDThh:mm:ss.SSSZ format. | - |
Error
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 | [ErrorDetail] | false | A list of additional error details. | - |
ErrorDetail
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
domain | string | false | A subsystem or context where an error occurred. | - |
reason | string | false | A codified value that represents the specific error that caused the current error status. | - |
message | string | false | A human-readable description of an error. | - |
locationType | string | false | The location or type of the field that caused an error. | query, header, path, formData, body |
location | string | false | The name of the field that caused an error. | - |
NrtJobs
Name | Type | Required | Description | Accepted Values |
---|---|---|---|---|
items | [SoarianOdsPublicApi_V1_NrtJob] | 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. | - |