Download OpenAPI specification:
Element5 APIs enables the clients to invoke and monitor Element5 Workflows. The E5 APIs are protected by API keys and the keys would be shared during the onboarding process. Due to the long running nature of workflows the current state of the workflows can be tracked either by polling E5 APIs for status or exposing a webhook which will be notified about progress. The below sections highlight the APIs and events which would be relevant for the current engagement.
Due to the long running nature of workflows, Element5 has a webhook interface which sends out events at important junctures when a request is processed. The events would be posted to the Webhook URL which would be configured as part of the onboarding process. Assumption: The URLs and their access credentials would have been already shared to Element5 as part of the onboarding process.
| eventName | string (Element5Events) Enum: "task#queued" "task#started" "task#restarted" "task#progressed" "task#succeeded" "task#failed" |
| eventId | string <uuid> |
| createdAt | string <date-time> (DateString) Date and time in ISO8601 format |
TaskEvents (object) |
{- "eventName": "task#queued",
- "eventId": "d6703cc8-9e79-415d-ac03-a4dc7f6ab43c",
- "createdAt": "2017-07-21T17:32:28Z",
- "eventPayload": {
- "task": {
- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "submit-authorization",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "queued"
}
}
}Fetch a file object by its object-id. The file may be delivered directly as binary content or via a redirect to a pre-signed URL.
| object-id required | string <uuid> Provide a |
{- "code": "401",
- "message": "API key is missing or invalid"
}Upload a file to S3 storage. The file is stored in a date-based folder structure (YYYY/MM/DD). Returns file object ID and download URL. Requires file:write scope in the authorization token.
| file required | string <binary> File to upload |
{- "fileObjectId": "550e8400-e29b-41d4-a716-446655440000",
}All the necessary information required to submit an authorization. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.
Submit Authorization Request Body
required | object (SubmitAuthorizationRequestPayload) |
{- "taskPayload": {
- "senderDetails": {
- "partnerName": "Wellsky",
- "organizationName": "11111-Affinity",
- "agencyName": "Polk",
- "branchName": "Branch1"
}, - "patientDetails": {
- "patientId": "BOX00003977",
- "firstName": "John",
- "lastName": "Smith",
- "middleName": "Edward",
- "dateOfBirth": "1980-12-20",
- "gender": "M",
- "startOfCareDate": "2025-12-20",
- "patientAddress": {
- "addressLine1": "123 Broadway St",
- "addressLine2": "Apt 2",
- "city": "Dallas",
- "state": "TX",
- "zip": "75001"
}
}, - "episodeDetails": {
- "episodeId": "11111111",
- "soeDate": "2025-12-20",
- "eoeDate": "2026-02-20"
}, - "payerDetails": {
- "payerName": "UHC",
- "payerPlanName": "AARP® Medicare Advantage from UnitedHealthcare",
- "payerType": "MA",
- "payerId": "87726",
- "payerHierarchy": "Primary",
- "memberId": "W9837639",
- "MBI": "3FH9AA4K221",
- "medicaidId": "500123456789",
- "gatewayName": "Availity"
}, - "servicingProviderDetails": {
- "serviceLine": "Home Health",
- "branch": "Sunshine Healthcare",
- "branchNPI": "1427683941",
- "branchAddress": {
- "addressLine1": "123 Main St",
- "addressLine2": "string",
- "city": "Dallas",
- "state": "TX",
- "zip": "75001"
}
}, - "orderingProviderDetails": {
- "orderingProviderFirstName": "John",
- "orderingProviderLastName": "Smith",
- "orderingProviderNPI": "1223455250",
- "orderingProviderAddress": {
- "addressLine1": "123 Main St",
- "addressLine2": "string",
- "city": "Dallas",
- "state": "TX",
- "zip": "75001"
}
}, - "referralInformation": {
- "referralSource": "PHYSICIAN",
- "referringSourceName": "Michael Scott",
- "facilityDischargeDate": "2025-12-20"
}, - "authorizationRequest": {
- "authType": "Initial",
- "authRequestDetails": [
- {
- "serviceDiscipline": "SN",
- "procedureCodes": "G0299, G0151, S9123, T1030",
- "requestedQty": 10,
- "requestedStartDate": "2025-12-20",
- "requestedEndDate": "2025-12-27"
}
]
}, - "diagnosisDetails": [
- {
- "diagnosisCode": "J44.9",
- "sortOrder": 1
}
], - "attachments": [
]
}
}{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "submit-authorization",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "queued"
}Fetch the current status of a Authorization Submission Request. It takes the taskId, provided by the Authorization Submission Request, as input.
| task-id required | string <uuid> Provide a task id to retreive the Authorization Submission Request status |
{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "submit-authorization",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "processing",
- "startedAt": "2017-07-21T17:32:28Z",
- "attempt": 1
}All the necessary information required to submit an eligibility request. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.
Submit Eligibility Request Body
required | object (SubmitEligibilityRequestPayload) |
{- "taskPayload": {
- "senderDetails": {
- "partnerName": "Wellsky",
- "organizationName": "11111-Affinity",
- "agencyName": "Polk",
- "branchName": "Branch1"
}, - "patientDetails": {
- "firstName": "string",
- "lastName": "string",
- "middleName": "string",
- "patientId": "string",
- "dateOfBirth": "1945-01-15",
- "gender": "M",
- "startOfCareDate": "2024-06-15",
- "patientAddress": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "zip": "string"
}
}, - "payerDetails": {
- "payerName": "string",
- "payerPlanName": "string",
- "payerType": "string",
- "payerId": "string",
- "payerHierarchy": "P",
- "memberId": "string",
- "MBI": "string",
- "medicaidID": "string"
}, - "gateway": {
- "gatewayName": "Waystar",
- "waystarSenderId": "string",
- "waystarProviderName": "string"
}, - "servicingProviderDetails": {
- "branch": "string",
- "branchNPI": "string",
- "branchAddress": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "state": "string",
- "zip": "string"
}
}, - "serviceTypeCodes": [
- "30"
]
}
}{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "submit-eligibility",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "queued"
}Fetch the current status of an Eligibility Submission Request. It takes the taskId, provided by the Eligibility Submission Request, as input.
| task-id required | string <uuid> Provide a task id to retreive the Eligibility Submission Request status |
{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "submit-eligibility",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "processing",
- "startedAt": "2017-07-21T17:32:28Z",
- "attempt": 1
}All the necessary information required to process a X12 Eligibility Transaction. On receipt, the API performs a quick validation (not verification) of the request for correctness. On successful validation returns a taskId which can be used for tracking this request. Also, the task#queued event is triggered.
Process X12 Eligibility Transaction Request Body
required | object (ProcessX12EligibilityTransactionRequestPayload) |
{- "taskPayload": {
- "transactionFiles": {
- "requestFile": {
- "interchangeDate": "2019-08-24",
- "interchangeTime": "string",
- "interchangeTimezone": "string"
}, - "responseFile": {
- "interchangeDate": "2019-08-24",
- "interchangeTime": "string",
- "interchangeTimezone": "string"
}
}, - "meta": {
- "eligibilityRequestInitiationDate": "1981-12-25",
- "gatewayName": "Inovalon",
- "senderDetails": {
- "partnerName": "Wellsky",
- "organizationName": "11111-Affinity",
- "agencyName": "Polk",
- "branchName": "Branch1"
}, - "patientDetails": {
- "firstName": "John",
- "lastName": "Smith",
- "middleName": "Edward",
- "patientID": "BOX00003977",
- "dateOfBirth": "1981-12-25",
- "startOfCareDate": "1981-12-25"
}, - "payerDetails": {
- "payerName": "UHC",
- "payerPlanName": "AARP Medicare Advantage from UnitedHealthcare",
- "payerType": "MA",
- "payerHierarchy": "P",
- "memberId": "W9837639"
}
}
}
}{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "process-x12-eligibility-transaction",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "queued"
}Fetch the current status of an Process X12 Eligibility Transaction. It takes the taskId, provided by the Process X12 Eligibility Transaction, as input.
| task-id required | string <uuid> Provide a task id to retreive the Process X12 Eligibility Transaction status |
{- "taskId": "55dfe5e9-725a-4ce0-ba41-925e588623c2",
- "taskName": "process-x12-eligibility-transaction",
- "createdAt": "2017-07-21T17:32:28Z",
- "status": "processing",
- "startedAt": "2017-07-21T17:32:28Z",
- "attempt": 1
}