The LifeOmic Platform is an API-first design. You can use the LifeOmic API to programmatically control all of the features of the platform. This public API powers all of the LifeOmic client applications, including the LifeOmic mobile app and the LifeOmic Platform web application.
You can build your own third-party applications around the LifeOmic health-focused APIs in the same manner that you can build a communication app around Twilio APIs. LifeOmic has helped several customers use the LifeOmic API as a Platform as a Service (PaaS). Contact LifeOmic to set up credentials for your app.
The simplest way for a developer to make API calls is to use an API key. See the Getting Started Guide for instructions on how to create an API key. After creating an API key, it can be provided via the Authorization
HTTP header in the same fashion as the access tokens.
Visit the Developer Center for more information on the LifeOmic API:
For the authorization code flow, this allows a client to exchange an authorization code for an access token. This operation does not require authentication.
Authorization required | string If the client was issued a secret, the client must pass its client_id and client_secret in the authorization header through Basic HTTP authorization. The secret is |
grant_type required | string Enum: "authorization_code" "refresh_token" The grant type. |
client_id required | string The client ID. Must be a preregistered client. |
code | string The authorization code. Required if |
redirect_uri | string Must be the same redirect_uri that was used to get |
refresh_token | string The refresh token. Required if |
code_verifier | string The proof key. Required if |
# You can also use wget curl -X POST https://api.us.lifeomic.com/v1/oauth/token \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Accept: application/json' \ -H 'Authorization: string'
{- "access_token": "string",
- "refresh_token": "string",
- "id_token": "string",
- "token_type": "string",
- "expires_in": 0
}
Supports operations for a subset of patients from a LifeOmic Platform project.
To learn about the service as implemented in the LifeOmic Platform web app, see the Cohorts Overview.
Returns a list of cohorts that the user has access to.
projectId required | string The ID of the project to search within for cohorts. |
name | string Only return cohorts that have a name that starts with the given value. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "resultCount": 0,
- "creatorUser": "string",
- "creationTime": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Create a cohort, representing a subset of a project based on one or more queries
LifeOmic-Account required | string The LifeOmic account to access. |
name required | string |
description | string |
ownerProject required | string |
required | Array of objects (CohortQuery) |
{- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
{- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "resultCount": 0,
- "creatorUser": "string",
- "creationTime": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
Returns a cohort.
cohortId required | string The cohort id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "resultCount": 0,
- "creatorUser": "string",
- "creationTime": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
Returns the updated cohort.
cohortId required | string The cohort id. |
LifeOmic-Account required | string The LifeOmic account to access. |
name required | string |
description | string |
ownerProject required | string |
required | Array of objects (CohortQuery) |
{- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
{- "name": "string",
- "description": "string",
- "ownerProject": "string",
- "resultCount": 0,
- "creatorUser": "string",
- "creationTime": "string",
- "queries": [
- {
- "project": "string",
- "queryType": "string",
- "query": { }
}
]
}
Supports Content Entity operations on the LifeOmic Platform
Content Entity operations take place on https://apps.us.lifeomic.com/api/v2/content.
Returns the entity object.
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "entityId": "string",
- "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2",
- "account": "string",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "lastModified": "2019-08-24T14:15:22Z",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
}
Creates an entity, returning the entity object.
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "entityId": "string",
- "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2",
- "account": "string",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "lastModified": "2019-08-24T14:15:22Z",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
}
Updates an entity, returning the entity object.
entityId required | string The entityId. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "entityId": "string",
- "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2",
- "account": "string",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "lastModified": "2019-08-24T14:15:22Z",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
}
Delete an entity.
entityId required | string The entityId. |
hard | boolean Default: false Force hard delete |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
[- {
- "id": "string",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "sortName": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
]
Get an acl.
type required | string Enum: "owner" "shared" "view" The acl type |
entityId required | string The entityId. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "username_entityId": "string",
- "entityId": "string",
- "type": "owner"
}
Returns the entity object.
project required | string The LifeOmic project. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "items": [
- {
- "entityId": "string",
- "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2",
- "account": "string",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "lastModified": "2019-08-24T14:15:22Z",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
}
]
}
Returns the entity objects.
project required | string The LifeOmic project. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "items": [
- {
- "entityId": "string",
- "project": "9ec8a81a-31b2-4a83-bcd8-cef9150932d2",
- "account": "string",
- "scope": "account",
- "displayName": "string",
- "contentType": "audio",
- "lastModified": "2019-08-24T14:15:22Z",
- "serviceId": "8f8bb40f-b96b-40fe-9064-5031fbe483f9",
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Creates an entity assignment, returning the entity assignment object.
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "id": "string",
- "ownerId": "string",
- "entityId": "string",
- "assigneeLrn": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
Returns the entity assignment object.
assignmentId required | string Content entity assignment identifier |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "id": "string",
- "ownerId": "string",
- "entityId": "string",
- "assigneeLrn": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
Updates an entity assignment, returning the entity assignment object.
assignmentId required | string Content entity assignment identifier |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "id": "string",
- "ownerId": "string",
- "entityId": "string",
- "assigneeLrn": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
Delete an entity assignment.
assignmentId required | string The entity assignment identifier. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "id": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
Returns the entity assignment object.
project required | string The LifeOmic project. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "items": [
- {
- "id": "string",
- "ownerId": "string",
- "entityId": "string",
- "assigneeLrn": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
]
}
Returns the entity assignment object.
project required | string The LifeOmic project. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "items": [
- {
- "id": "string",
- "ownerId": "string",
- "entityId": "string",
- "assigneeLrn": "string",
- "lastModified": "2019-08-24T14:15:22Z"
}
]
}
Starts the process of converting video file to stream format.
entityId required | string The entityId. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{ }
After video conversion has completed then the fetch route is available
project required | string <uuid> The LifeOmic project id. |
serviceId required | string <uuid> The service id returned from CreateEntity. |
LifeOmic-Account required | string The LifeOmic account to access. |
Lifeomic-User required | string The LifeOmic user. |
{- "getVideo": {
- "id": "string",
- "title": "string",
- "description": "string",
- "thumbnails": [ ],
- "duration": 0,
}
}
Supports operations for storing and retrieving course-related and program-related content. For more information, see the Content Service Guide.
Lists the content items for your LifeOmic project.
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
name | string Filters the result set by performing a case-insensitive begins with filter on the file name. |
orderBy | string Enum: "name" "size" Allows one to order the results by file name or by size. Default is to sort by name in ascending order. To sort in descending order, add |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location 'https://api.us.lifeomic.com/v1/content/<projectId>/content' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "items": {
- "id": "f968d237-73c6-46cf-814e-5f040b7af494",
- "project": "ebe1618f-e474-4947-a6d2-18b19fac6xyz",
- "displayName": "Get Eating Healthy",
- "type": "course",
- "fields": {
- "description": {
- "value": "learning about meditation"
}, - "duration": {
- "value": 7
}, - "daySlugs": {
- "value": [
- "390fdc3d-3078-43dd-9387-48caa4978b1e",
- "0660c507-b1a4-4e71-827f-984189d9acc6",
- "2dda07cc-908e-4fb1-a862-fb51b8354e1a",
- "bff73e02-257d-4b37-97fe-b96fbe9103b2",
- "c5532546-aa23-4b8b-b2c9-85ab60826f19",
- "37bab494-b226-4248-8651-f5a58a930091",
- "c3e98713-b2d7-4fb7-9fc0-c1f1e6ec23ff"
]
}, - "isPristine": {
- "value": false
}
}, - "slug": "1defb12c-daae-42f2-b13c-b9d010ef8c45",
- "keyPath": "meditation-program-99823e2d-5cef-4990-af00-f92cafc8fd07/1defb12c-daae-42f2-b13c-b9d010ef8c45",
- "status": "draft",
- "isDirty": true,
- "lastModified": "2022-10-12T19:45:43.795Z",
- "account": "company",
- "links": {
- "self": "/v1/content/ebe1618f-e474-4947-a6d2-18b19fac6xyz/content",
- "next": "/v1/content/ebe1618f-e474-4947-a6d2-18b19fac6xyz/content?nextPageToken=eyJwcm9qZWN0IjoiZWJlMTYxOGYtZTQ3NC00OTQ3LWE2ZDItMThiMTlmYWM2NjNhIiwiaWQiOiJsaWZlb21pYzowNjAwYzNmNC02YTM5LTQ2NjktOGU1MC0zZjMxNDU5NWEzMmQiLCJyb3dUeXBlIjoiY29udGVudDpsaWZlb21pYzowNjAwYzNmNC02YTM5LTQ2NjktOGU1MC0zZjMxNDU5NWEzMmQiLCJ0eXBlIjoicHJvZ3JhbSJ9"
}
}
}
Create a content item. If an id is not supplied by the user, a unique id is assigned with the response. This id is the contentId you need for future operations.
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
id | string (id) Content ID |
project required | string (project) Project with which content is associated |
displayName required | string (displayName) Human readable name for content |
type required | string (type) Type of content |
language | string (language) Primary language for the content |
object (fields) Content fields | |
tags | Array of strings (tags) Descriptive tags for the content |
slug required | string (slug) ^[a-zA-Z0-9-\/]+$ Slug to identify content |
object (meta) Additional data describing the content | |
public | boolean (public) Should the content be made public |
keyPath | string (keyPath) ^(?!\/)[a-z0-9-/]+$ Key path to designate path of nested content |
property name* additional property | any |
{- "id": "string",
- "project": "string",
- "displayName": "string",
- "type": "string",
- "language": "string",
- "fields": {
- "property1": {
- "value": null,
- "property1": null,
- "property2": null
}, - "property2": {
- "value": null,
- "property1": null,
- "property2": null
}
}, - "tags": [
- "string"
], - "slug": "string",
- "meta": { },
- "public": true,
- "keyPath": "string"
}
{- "id": "8256efc4-116f-4063-bd6b-6d63b4ad8b56",
- "project": "<projectId>",
- "displayName": "Test Course",
- "type": "course",
- "slug": "1defb12c-daae-42f2-b13c-b9d010ef8c00",
- "status": "draft",
- "isDirty": true,
- "lastModified": "2023-06-20T14:57:52.066Z",
- "account": "<account-name>",
- "fileAttachments": [ ],
- "contentAttachments": [ ]
}
Lists a specific content item.
contentId required | string Specifies the content item. Found in the list all content response as the |
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location https://api.us.lifeomic.com/v1/content/<projectId>/content/<contentId>' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "id": "<contentId>",
- "project": "<projectId>",
- "displayName": "Test Course",
- "type": "course",
- "fields": {
- "description": {
- "value": "Test course description"
}
}, - "slug": "1defb12c-daae-42f2-b13c-b9d010ef8c99",
- "status": "published",
- "isDirty": false,
- "version": 1687963272285,
- "parentVersion": "1defb12c-daae-42f2-b13c-b9d010ef8c99:1687448761669",
- "lastModified": "2023-06-28T14:41:12.285Z",
- "publishDate": "2023-06-28T14:41:12.285Z",
- "account": "<accountName>",
- "fileAttachments": [
- {
- "contentId": "<contentId>",
- "project": "<projectId>",
- "file": {
- "id": "e0b9e7f4-1474-42d6-b87a-a1e21e015c0c",
- "name": "2dlvXN.png",
- "fileKey": "<fileKey>",
- "account": "<company>",
- "project": "<projectId>",
- "size": 3146174,
- "contentType": "image/png",
- "lastModified": "2023-06-22T16:42:46.199Z",
- "type": "FILE",
- "url": "<publicUrl>",
- "meta": {
- "isDirectory": false,
- "private": false
}, - "lrn": "lrn:<lrnId>"
}, - "meta": { }
}
], - "contentAttachments": [ ]
}
Deletes the content item specified with the content id.
contentId required | string The content item id. |
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request DELETE 'https://api.us.lifeomic.com/v1/content/{projectId}/content/{contentId}' \ --header 'LifeOmic-Account: {account-id}' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {api-key}'
null
You demote content from publish state to draft state with this POST call.
contentId required | string Specifies the content item. Found in the list all content response as the |
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request POST 'https://api.us.lifeomic.com/v1/content/<projectId>/content/<contentId>/draft' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "id": "contentId",
- "project": "projectId",
- "displayName": "Test Course",
- "type": "course",
- "fields": {
- "description": {
- "value": "Test course description"
}
}, - "slug": "1defb12c-daae-42f2-b13c-b9d010ef8c99",
- "status": "draft",
- "isDirty": false,
- "version": 1687448761669,
- "lastModified": "2023-06-20T14:29:54.662Z",
- "publishDate": "2023-06-22T15:46:01.669Z",
- "account": "account-name"
}
You promote content from draft state to publish state with the POST call. Content is created with a default status of draft.
contentId required | string Specifies the content item. Found in the list all content response as the |
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request POST 'https://api.us.lifeomic.com/v1/content/<projectId>/content/<contentId>/publish' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "id": "contentId",
- "project": "projectId",
- "displayName": "Test Course",
- "type": "course",
- "fields": {
- "description": {
- "value": "Test course description"
}
}, - "slug": "1defb12c-daae-42f2-b13c-b9d010ef8c99",
- "status": "published",
- "isDirty": false,
- "version": 1687448761669,
- "lastModified": "2023-06-20T14:29:54.662Z",
- "publishDate": "2023-06-22T15:46:01.669Z",
- "account": "account-name"
}
Attaches a file to a course.
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
contentId required | string Specifies the content item. Found in the list all content response as the |
fileId required | string Specifies content file. Found in the list content files response as the |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request PUT 'https://api.us.lifeomic.com/v1/content/{projectId}/content/{contentId}/file-attachment/{fileId}' \ --header 'LifeOmic-Account: {account-id}' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {api-key}'
null
Lists the content files for your LifeOmic project.
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location 'https://api.us.lifeomic.com/v1/content/<projectId>/file' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>' \ --header 'Content-Type: application/json' \ --data '{"project":"<project-id>","name":"<filename>.<fileformat>"}'
{- "items": {
- "id": "e0b9e7f4-1474-42d6-b87a-a1e21e015c0c",
- "name": "<filename.fileformat>",
- "fileKey": "<fileKey>",
- "account": "<acccountName>",
- "project": "<projectId>",
- "size": 3146174,
- "contentType": "image/png",
- "lastModified": "2023-06-22T16:42:46.199Z",
- "type": "FILE",
- "meta": {
- "isDirectory": false,
- "private": false
}, - "lrn": "<lrnID>",
- "links": null,
- "self": "/v1/content/<projectId>/file"
}
}
Creates a new file placeholder in the content service. The POST call requires body data in the JSON format. This POST call is the first call in a two call operation for uploading content files. For more information, see Upload a File.
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
id | string The file id. If provided on POST, then the id must be a V4 UUID, otherwise the server will create a new UUID for the file. |
name | string The file name. |
datasetId | string The project the file belongs to. |
contentType | string The content type of the file. |
{- "id": "string",
- "name": "string",
- "datasetId": "string",
- "contentType": "string"
}
{- "id": "7c74a8e1-f118-4819-a2f7-04109a892c51,",
- "name": "test.json,",
- "datasetId": "ebe1618f-e474-4947-a6d2-18b19fac663a,",
- "contentType": "application/json,",
- "userId": "company:joe.smith.com,",
}
Deletes the content file specified with the file id.
fileId required | string The content file id |
projectId required | string Only return files in the specified dataset (projectId). See Find Your Project ID. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request DELETE 'https://api.us.lifeomic.com/v1/content/{projectId}/file/{fileId}' \ --header 'LifeOmic-Account: {account-id}' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer {api-key}'
null
Creates an account, returning the account object.
id | string The account id. |
name | string The account name. |
owner | string <email> The account's owner. |
type | string Enum: "FREE" "PAID" "ENTERPRISE" The account type. |
{- "id": "string",
- "name": "string",
- "owner": "user@example.com",
- "type": "FREE"
}
{- "id": "string",
- "name": "string",
- "owner": "user@example.com",
- "type": "FREE"
}
Retrieves details about an account. Returns the account object.
id required | string The account id. |
include | string Value: "groups" Include additional information like the user's groups. |
{- "id": "string",
- "name": "string",
- "owner": "user@example.com",
- "type": "FREE"
}
Update an account by changing the name or clearing out a pending deletion date. Returns the account object.
id required | string The account id. |
name | string The account name. |
deletionDate | string The account's deletion date. Set to |
{- "name": "string",
- "deletionDate": "string"
}
{- "id": "string",
- "name": "string",
- "owner": "user@example.com",
- "type": "FREE"
}
Deletes an account. By default, the account will not be deleted for 14 days. During this time, the pending deletion can be cancelled by using the PATCH
method. After the 14 day grace period, the account and all of its data will be removed.
id required | string The account id. |
force | boolean If true, the 14 day grace period will be ignored and all of the account data will be removed immediately. |
Returns a list of clients belonging to an account.
id required | string The account id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "clients": [
- {
- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
]
}
Create a new client for an account. Returns the client object.
id required | string The account id. |
LifeOmic-Account required | string The LifeOmic account to access. |
id | string The client id. |
name | string <= 64 characters The client name. |
generateSecret | boolean If true, a secret will be created for the client. |
callbackUrls | Array of strings [ 1 .. 100 ] items The list of callback URLs allowed for this client. |
logoutUrls | Array of strings [ 1 .. 100 ] items The list of logout allowed for this client. |
identityProviders | Array of strings non-empty Items Enum: "GOOGLE" "LIFEOMIC" "FACEBOOK" "CUSTOM" The list of identity providers allowed for this client. |
allowedOAuthFlows | Array of strings non-empty Items Enum: "code" "implicit" "client_credentials" The list of OAuth flows allowed for this client. |
object The custom identity provider to use for this client. |
{- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
{- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
Retrieves an account by clientId.
id required | string The account id. |
clientId required | string The client id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
Updates a client for an account.
id required | string The account id. |
clientId required | string The client id. |
LifeOmic-Account required | string The LifeOmic account to access. |
id | string The client id. |
name | string <= 64 characters The client name. |
generateSecret | boolean If true, a secret will be created for the client. |
callbackUrls | Array of strings [ 1 .. 100 ] items The list of callback URLs allowed for this client. |
logoutUrls | Array of strings [ 1 .. 100 ] items The list of logout allowed for this client. |
identityProviders | Array of strings non-empty Items Enum: "GOOGLE" "LIFEOMIC" "FACEBOOK" "CUSTOM" The list of identity providers allowed for this client. |
allowedOAuthFlows | Array of strings non-empty Items Enum: "code" "implicit" "client_credentials" The list of OAuth flows allowed for this client. |
object The custom identity provider to use for this client. |
{- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
{- "id": "string",
- "name": "string",
- "generateSecret": true,
- "callbackUrls": [
- "string"
], - "logoutUrls": [
- "string"
], - "identityProviders": [
- "GOOGLE"
], - "allowedOAuthFlows": [
- "code"
], - "customIdentityProvider": {
- "attributeMapping": [
- "string"
], - "metadataUrl": "string"
}
}
Supports operations for API keys
To learn about API key implementation on the LifeOmic Platform web app, see API Keys.
Returns a list of all API Keys for the logged in user.
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "name": "string",
- "id": "string",
- "key": "string",
- "dateCreated": "string",
- "dateExpires": "string"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Create an API Key can that be used in API calls,
LifeOmic-Account required | string The LifeOmic account to access. |
name | string the API Key name |
expireInDays | number how long before the API key expires |
{- "name": "string",
- "expireInDays": 0
}
{- "name": "string",
- "id": "string",
- "key": "string",
- "dateCreated": "string",
- "dateExpires": "string"
}
Supports operations for storing and retrieving file data. For a guide to using the file service, see Getting Started with the File Service API.
Lists the files for your LifeOmic account. Refine your results to a specific project with the datasetId query parameter. For more information, see List Files.
name | string Filters the result set by performing a case-insensitive begins with filter on the file name. |
orderBy | string Enum: "name" "size" Allows one to order the results by file name or by size. Default is to sort by name in ascending order. To sort in descending order, add |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
datasetId | string Only return files in the specified dataset (project id). |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location 'https://api.us.lifeomic.com/v1/files?datasetId=<project-id>' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "items": {
- "id": "bfdf7716-1088-4021-80b5-ab4badacd081,",
- "name": "initial_lab_report copy.pdf,",
- "datasetId": "ebe1618f-e474-4947-a6d2-18b19fac663a,",
- "size": "138829,",
- "contentType": "application/pdf,",
- "lastModified": "2020-11-17T14:35:14.823Z,",
- "userId": "lifeomic:lifeomic_joe.smith@company.com,",
- "lrn": "lrn:xyz:xyz:lifeomic:file:bfdf7716-1088-4021-80b5-ab4badacd081"
}, - "links": {
- "self": "/v1/files?datasetId=ebe1618f-e474-4947-a6d2-18b19fac663a,",
- "next": "/v1/files?nextPageToken=eyJpZCI6eyJTIjoibGlmZW9taWM6YmZkZjc3MTYtMTA4OC00MDIxLTgwYjUtYWI0YmFkYWNkMDgxIn0sImRhdGFzZXRJZCI6eyJTIjoibGlmZW9taWM6ZWJlMTYxOGYtZTQ3NC00OTQ3LWE2ZDItMThiMTlmYWM2NjNhIn0sInNvcnROYW1lIjp7IlMiOiJJTklUSUFMX0xBQl9SRVBPUlQgQ09QWS5QREYifX0=&datasetId=ebe1618f-e474-4947-a6d2-18b19fac663a"
}
}
Creates and uploads a file. Uploading files is a two call operation. The first call is a POST call for a response that contains the presigned URL. The POST call contains JSON data for the file in the body. The second call is a PUT call to upload the file to the presigned URL. For more information, see Upload Files.
LifeOmic-Account required | string The LifeOmic account to access. |
id | string The file id. If provided on POST, then the id must be a V4 UUID, otherwise the server will create a new UUID for the file. |
name | string The file name. |
datasetId | string The project the file belongs to. |
contentType | string The content type of the file. |
{- "id": "string",
- "name": "string",
- "datasetId": "string",
- "contentType": "string"
}
{- "id": "7c74a8e1-f118-4819-a2f7-04109a892c51,",
- "name": "test.json,",
- "datasetId": "ebe1618f-e474-4947-a6d2-18b19fac663a,",
- "contentType": "application/json,",
- "userId": "company:joe.smith.com,",
}
Downloads a file. Add the file id from the general GET files response and the include parameter with the downloadUrl value. The response contains the download url. For more information, see Download Files.
id required | string The file id. |
include | string Value: "downloadUrl" Specifying a value of |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location 'https://api.us.lifeomic.com/v1/files/<file-id>?include=downloadUrl' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
{- "id": "bfdf7716-1088-4021-80b5-ab4badacd081,",
- "name": "initial_lab_report copy.pdf,",
- "datasetId": "ebe1618f-e474-4947-a6d2-18b19fac663a,",
- "size": "138829,",
- "contentType": "application/pdf,",
- "lastModified": "2020-11-17T14:35:14.823Z,",
- "userId": "company:joe.smith@company.com,",
- "lrn": "lrn:xyz:xyz:company:file:bfdf7716-1088-4021-80b5-ab4badacd081,",
}
Deletes the file specified with the file id.
id required | string The file id. |
LifeOmic-Account required | string The LifeOmic account to access. |
curl --location --request DELETE 'https://api.us.lifeomic.com/v1/files/<file-id>' \ --header 'LifeOmic-Account: <account-id>' \ --header 'Accept: application/json' \ --header 'Authorization: Bearer <api-key>'
null
Supports operations with groups. To learn about the implementation of groups within the LifeOmic Platform web app, see Groups.
Returns the list of groups for an account.
name | string Search for groups whose name starts with the given string. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "account": "string",
- "description": "string",
- "id": "string",
- "type": "closed"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Returns the group with the given ID.
id required | string The group ID to lookup. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "account": "string",
- "description": "string",
- "id": "string",
- "type": "closed"
}
Updates the group identified by the given ID.
id required | string The group ID to modify. |
LifeOmic-Account required | string The LifeOmic account to access. |
The new information for the group.
account | string The account that owns the group. |
description | string A human readable description of the group. |
id | string The canonical identifier for the group. |
type | string Enum: "closed" "open" |
{- "account": "string",
- "description": "string",
- "id": "string",
- "type": "closed"
}
{- "account": "string",
- "description": "string",
- "id": "string",
- "type": "closed"
}
Returns the list of users belonging to the group.
id required | string The ID of the group |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "id": "string",
- "type": "string",
- "profile": {
- "email": "string",
- "familyName": "string",
- "givenName": "string",
- "name": "string",
- "picture": "string",
- "preferredUsername": "string"
}
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Removes the user from a group.
id required | string The ID of the group |
username required | string The user to add to the group |
LifeOmic-Account required | string The LifeOmic account to access. |
null
Returns a list of invitations received or sent by the user, depending on parameters.
user | string The session user, whose received invitations should be fetched. |
account | string The account in which group invitations sent by the session user should be fetched. |
{- "items": [
- {
- "id": "string",
- "account": "string",
- "accountName": "string",
- "group": "string",
- "groupName": "string",
- "invitorUser": "string",
- "email": "string",
- "status": "AWAITING-USER-ACTION",
- "inviteTimestamp": "string",
- "expirationTimestamp": "string"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Sends an email to a user, inviting them to join a group
group | string The group to which the user should be invited. |
string The invitee's email address. |
{- "group": "string",
- "email": "string"
}
{- "id": "string",
- "account": "string",
- "accountName": "string",
- "group": "string",
- "groupName": "string",
- "invitorUser": "string",
- "email": "string",
- "status": "AWAITING-USER-ACTION",
- "inviteTimestamp": "string",
- "expirationTimestamp": "string"
}
Performs an action on the invitation. If revoking an invitation, the accessAdmin Access Policy Privilege is required
id required | string The invitation ID to modify. |
status | string Enum: "ACCEPTED" "REJECTED" "REVOKED" The new status of the invitation. |
{- "status": "ACCEPTED"
}
null
Supports ABAC access control policy operations. For more information about the LifeOmic Platform Access Control, see the Access Control Overview.
Retrieves the ABAC policies of the user. See our open-sourced implementation of parsing ABAC policies at https://github.com/lifeomic/abac
{- "rules": {
- "apiKeyUser": true,
- "createData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readMaskedData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "fc4c2a5e-6f24-4880-a5b7-c3ae51de1657"
}
}
]
}
}
Updates a policy for an account.
policyId required | string The policy id. |
LifeOmic-Account required | string The LifeOmic account. |
name | string Policy name |
object (Policy) An ABAC policy document. |
{- "name": "string",
- "policy": {
- "rules": {
- "apiKeyUser": true,
- "createData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readMaskedData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "fc4c2a5e-6f24-4880-a5b7-c3ae51de1657"
}
}
]
}
}
}
{- "name": "string",
- "policy": {
- "rules": {
- "apiKeyUser": true,
- "createData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "eed10b7f-8b8d-4182-a10b-7bf541ed4e36"
}
}
], - "readMaskedData": [
- {
- "resource.dataset": {
- "comparison": "equals",
- "value": "fc4c2a5e-6f24-4880-a5b7-c3ae51de1657"
}
}
]
}
}
}
Supports operations with the containers used to store datasets in a LifeOmic Platform account
Returns a list of all projects.
name | string Filters the result set by performing a case-insensitive begins with filter on the project name. |
pageSize | number The number of results to return in the request. |
nextPageToken | string The page token used to request a specific page. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "deletionDate": "string"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Creates a project. Some resources refer to projects as datasets. The id of a project should be used whenever a datasetId
is needed.
LifeOmic-Account required | string The LifeOmic account to access. |
id | string The project id. Some resources use the term |
name | string The project name. |
deletionDate | string The project's deletion date. Set to |
{- "id": "string",
- "name": "string",
- "deletionDate": "string"
}
{- "id": "string",
- "name": "string",
- "deletionDate": "string"
}
Updates a project by changing the name or clearing out a pending deletion date.
id required | string The project id. |
id | string The project id. Some resources use the term |
name | string The project name. |
deletionDate | string The project's deletion date. Set to |
{- "id": "string",
- "name": "string",
- "deletionDate": "string"
}
{- "id": "string",
- "name": "string",
- "deletionDate": "string"
}
Deletes a project. By default, the project will not be deleted for 14 days. During this time, the pending deletion can be cancelled by using the PATCH
method. After the 14 day grace period, the project and all of its data will be removed.
id required | string The project id. |
force | boolean If true, the 14 day grace period will be ignored and all of the project data will be removed immediately. |
null
Returns the full profile for the currently authenticated user
{- "id": "string",
- "type": "string",
- "profile": {
- "email": "string",
- "familyName": "string",
- "givenName": "string",
- "name": "string",
- "picture": "string",
- "preferredUsername": "string"
}
}
Updates the authenticated user's profile
object |
{- "profile": {
- "email": "string",
- "familyName": "string",
- "givenName": "string",
- "name": "string",
- "picture": "string",
- "preferredUsername": "string"
}
}
{- "id": "string",
- "type": "string",
- "profile": {
- "email": "string",
- "familyName": "string",
- "givenName": "string",
- "name": "string",
- "picture": "string",
- "preferredUsername": "string"
}
}
Returns a users profile. When requesting one's own profile the full profile is returned. Otherwise a limited profile is returned.
username required | string The user to lookup |
{- "id": "string",
- "type": "string",
- "profile": {
- "email": "string",
- "familyName": "string",
- "givenName": "string",
- "name": "string",
- "picture": "string",
- "preferredUsername": "string"
}
}
Returns a list of groups that the user is a member of. This currently only succeeds if a user is asking for their own groups.
username required | string The user to list groups for |
{- "items": [
- {
- "account": "string",
- "description": "string",
- "id": "string",
- "type": "closed"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Update a user's profile picture. This only for the currently authorized user using a LifeOmic account.
username required | string The user to update the profile picture for |
Content-Type required | string The MIME type of the image being uploaded |
Content-Length required | number The size of the image payload in bytes |
The binary profile picture content
"string"
{- "downloadUrl": "string"
}
Supports operations with a domain specific language that query the analytics database. For more information, see the Insights API.
Returns the results a query that may span patients, genetic variants, and gene expression data.
dataset_id required | string |
cohort_id | string |
string_query | string |
required | object or object (AnalyticsDSL-Query) |
evaluate_contract | boolean |
{- "dataset_id": "string",
- "cohort_id": "string",
- "string_query": "string",
- "query": {
- "target": "patient",
- "domain": "procedure_overlap",
- "options": {
- "patients": [
- "string"
], - "codes": [
- "string"
], - "start": "string",
- "end": "string"
}
}, - "evaluate_contract": true
}
{- "data": { }
}
Supports operations, such as syncing and ingestion, with Electronic Health Records and the LifeOmic Platform
Returns a list of EHRs that the user has access to.
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "id": "string",
- "name": "string",
- "ehrType": "string",
- "creator": "string",
- "apiBaseUrl": "string",
- "apiAuthType": "string",
- "ingestionModel": "string",
- "delayBetweenRecords": 0
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Create an EHR configuration, which can then be connected to projects and used to sync data from your EHR to the LifeOmic Platform.
LifeOmic-Account required | string The LifeOmic account to access. |
id | string |
name required | string |
ehrType required | string Value: "cerbo" |
apiBaseUrl required | string <uri> ^https:\/\/[a-z]+\.md-hq\.com$ |
apiKey required | string |
apiSecret required | string |
apiAuthType required | string Value: "header" |
ingestionModel | string Enum: "ASYNCHRONOUS" "SYNCHRONOUS" |
delayBetweenRecords | number <= 3000 Number of milliseconds to pause in between each record during a SYNCHRONOUS ingestion. |
{- "id": "string",
- "name": "string",
- "ehrType": "cerbo",
- "apiKey": "string",
- "apiSecret": "string",
- "apiAuthType": "header",
- "ingestionModel": "ASYNCHRONOUS",
- "delayBetweenRecords": 3000
}
{- "id": "string",
- "name": "string",
- "ehrType": "cerbo",
- "apiKey": "string",
- "apiSecret": "string",
- "apiAuthType": "header",
- "ingestionModel": "ASYNCHRONOUS",
- "delayBetweenRecords": 3000
}
Returns an EHR.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "id": "string",
- "name": "string",
- "ehrType": "cerbo",
- "apiKey": "string",
- "apiSecret": "string",
- "apiAuthType": "header",
- "ingestionModel": "ASYNCHRONOUS",
- "delayBetweenRecords": 3000
}
Updates an EHR.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "id": "string",
- "name": "string",
- "ehrType": "cerbo",
- "apiKey": "string",
- "apiSecret": "string",
- "apiAuthType": "header",
- "ingestionModel": "ASYNCHRONOUS",
- "delayBetweenRecords": 3000
}
Returns a list of project connectors configured for this EHR.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Creates an EHR project connector, which represents the ability for this EHR to tie ingested records to the connected project.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
id required | string |
ehrId required | string |
project required | string |
{- "id": "string",
- "ehrId": "string",
- "project": "string"
}
{- "id": "string",
- "ehrId": "string",
- "project": "string"
}
Returns an EHR project connector.
ehrId required | string The EHR id. |
connectorId required | string The EHR connector id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "id": "string",
- "ehrId": "string",
- "project": "string"
}
Deletes the EHR project connector.
ehrId required | string The EHR id. |
connectorId required | string The EHR connector id. |
LifeOmic-Account required | string The LifeOmic account to access. |
null
Returns a list of EHR ingestions.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "connectors": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "records": [
- {
- "type": "string",
- "id": "string"
}
], - "consumePendingUpdates": true
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Creates an EHR ingestion, which represents a synchronization of EHR data to the LifeOmic Platform.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
Array of objects (EHRConnector) The subset of configured EHR project connectors that should be used for this ingestion. | |
Array of objects Individual records to be ingested. | |
consumePendingUpdates | boolean Whether or not this ingestion should add pending updates to its records array |
{- "connectors": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "records": [
- {
- "type": "string",
- "id": "string"
}
], - "consumePendingUpdates": true
}
{- "connectors": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "records": [
- {
- "type": "string",
- "id": "string"
}
], - "consumePendingUpdates": true
}
Returns a an EHR ingestions.
ehrId required | string The EHR id. |
ingestionId required | string The EHR ingestion id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "connectors": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "records": [
- {
- "type": "string",
- "id": "string"
}
], - "consumePendingUpdates": true
}
], - "links": {
- "self": "string",
- "next": "string"
}
}
Returns a list of scheduled EHR ingestions.
ehrId required | string The EHR id. |
LifeOmic-Account required | string The LifeOmic account to access. |
{- "items": [
- {
- "ingestion": {
- "connectors": [
- {
- "id": "string",
- "ehrId": "string",
- "project": "string"
}
], - "records": [
- {
- "type": "string",
- "id": "string"
}
], - "consumePendingUpdates":