Element5 Automation API
Generic E5 Task related APIs and Webhooks
Generic E5 Task related APIs and Webhooks
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/element5-automation-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Element5 Automation API
description: '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.
# Authentication
<!-- ReDoc-Inject: <security-definitions> -->'
contact:
email: apisupport@e5.ai
version: 2.2.0
x-logo:
url: https://cdn.prod.website-files.com/658c60c4ff902effa2174f77/668c43e2bfb9956a2995b419_e5-logo-gradient.png
altText: Element5
href: https://e5.ai
servers:
- url: https://api-qa.e5.ai
description: Non-Production Server
- url: https://api.e5.ai
description: Production Server
security:
- ApiKeyAuth: []
tags:
- name: Automation
description: Generic E5 Task related APIs and Webhooks
paths: {}
webhooks:
E5TaskEvents:
post:
tags:
- Automation
operationId: E5TaskEvent
description: 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.
summary: Task Events (Callbacks)
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/Element5WebhookRequest'
required: true
responses:
'200':
description: Event delivered successfully
4XX:
description: Unable to deliver the event
5XX:
description: Unable to deliver the event
components:
schemas:
TaskStarted:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Processing'
startedAt:
$ref: '#/components/schemas/DateString'
attempt:
minimum: 1
type: integer
example: 1
TaskStatus_Queued:
type: string
enum:
- queued
TaskQueued:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Queued'
TaskFailures:
oneOf:
- $ref: '#/components/schemas/AuthorizationTaskFailures'
- $ref: '#/components/schemas/EligibilityTaskFailures'
discriminator:
propertyName: taskName
mapping:
submit-authorization: '#/components/schemas/AuthorizationTaskFailures'
submit-eligibility: '#/components/schemas/EligibilityTaskFailures'
TaskRestarted:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Processing'
startedAt:
$ref: '#/components/schemas/DateString'
attempt:
minimum: 1
type: integer
TaskStatus_Failed:
type: string
enum:
- failed
SubmitEligibilityFailure_submitEligibility:
type: object
properties:
failureReason:
type: string
TaskSucceeded:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Success'
startedAt:
$ref: '#/components/schemas/DateString'
endedAt:
$ref: '#/components/schemas/DateString'
attempt:
minimum: 1
type: integer
taskPayload:
$ref: '#/components/schemas/TaskSuccesses'
SubmitEligibilityFailure:
type: object
properties:
submitEligibility:
$ref: '#/components/schemas/SubmitEligibilityFailure_submitEligibility'
DateString:
type: string
description: Date and time in ISO8601 format
format: date-time
example: '2017-07-21T17:32:28Z'
SubmitAuthorizationFailure_submitAuthorization:
type: object
properties:
failureReason:
type: string
SubmitEligibilityProgress_submitEligibility:
type: object
properties:
progress:
type: string
EligibilityResponse:
type: object
properties:
patientDetails:
type: object
description: Patient details from the payer's eligibility record
properties:
patientId:
type: string
description: 'Patient Unique ID - Eg: Medical Record number'
firstName:
type: string
description: Patient's first name
lastName:
type: string
description: Patient's last name
middleName:
type: string
description: Patient's middle name
dateOfBirth:
type: string
format: date
description: Patient's date of birth. Date in ISO8601 format
gender:
type: string
description: Gender of the patient from the payer's eligibility record
patientAddress:
type: object
description: Patient's address
properties:
addressLine1:
type: string
description: Patient's address line 1
addressLine2:
type: string
description: Patient's address line 2
city:
type: string
description: Patient's city
state:
type: string
description: Patient's state
zip:
type: string
description: Patient's zip
relationshipToSubscriber:
type: string
description: Patient Relationship to Subscriber
required:
- patientId
- firstName
- lastName
subscriberDetails:
type: object
description: Subscriber details from the payer's eligibility record
properties:
firstName:
type: string
description: Subscriber's first name
lastName:
type: string
description: Subscriber's last name
middleName:
type: string
description: Subscriber's middle name
dateOfBirth:
type: string
format: date
description: Subscriber's date of birth. Date in ISO8601 format
gender:
type: string
description: Gender of the Subscriber from the payer's eligibility record
subscriberAddress:
type: object
description: Subscriber's address
properties:
addressLine1:
type: string
description: Subscriber's address line 1
addressLine2:
type: string
description: Subscriber's address line 2
city:
type: string
description: Subscriber's city
state:
type: string
description: Subscriber's state
zip:
type: string
description: Subscriber's zip
required: []
payerDetails:
type: object
description: Payer details from the payer's eligibility record
properties:
payerName:
type: string
description: Name of the Payer
planName:
type: string
description: Name of the insurance plan
payerType:
type: string
description: Type of payer (e.g., Medicare, Medicaid, Medicare Advantage)
payerId:
type: string
description: Electronic 5-digit ID used for payer transactions
memberId:
type: string
description: Member identification number returned from the payer
MBI:
type: string
description: Medicare Beneficiary Identifier assigned by CMS
medicaidID:
type: string
description: Medicaid ID, if applicable
gateway:
type: string
description: Clearinghouse/Payor where eligibility was checked (e.g., Availity, Waystar. UHC).
required:
- gateway
planDetails:
type: object
description: Plan details from the payer's eligibility record
properties:
planNumber:
type: string
description: Unique identifier assigned to the member's insurance plan
planSponsor:
type: string
description: Organization or employer that offers or funds the health insurance plan.
groupName:
type: string
description: Name of the employer or group associated with the insurance coverage.
groupNumber:
type: string
description: Identifier used to group members under the same employer or plan contract.
planType:
type: string
description: Type of health plan (e.g., HMO, PPO)
example: HMO
planAuthorizationRequired:
type: string
description: Indicates whether prior authorization is required for services under the plan.
utilizationManagementOrganization:
type: string
description: Utilization Management Organization info
CMSContractNumber:
type: string
description: CMS-issued contract number for the Medicare plan
required: []
planCoverage:
type: object
description: Plan coverage details from the payer's eligibility record
properties:
eligibilityCheckDate:
type: string
format: date
description: Eligibility check date
example: '1945-01-15'
EligibilityInquiryId:
type: string
description: Reference number for the eligibility inquiry from CH/Payer
coverageStatus:
type: string
description: Indicates whether the policy is active or inactive
coverageDescription:
type: string
description: Coverage description from the payer
policyStartDate:
type: string
description: Policy Start Date. Date in ISO8601 format
format: date
example: '1945-01-15'
policyEndDate:
type: string
description: Policy End Date. Date in ISO8601 format
format: date
example: '1945-01-15'
referralStatus:
type: string
description: Indicates if referrals are required under the plan
serviceCareProviderNetworkStatus:
type: string
description: Service Care Provider Network Status
example:
- In-Network
- Out-of-Network
required:
- eligibilityCheckDate
planBenefits:
type: array
description: Plan benefits and plan level accumulator info
items:
type: object
properties:
network:
type: string
enum:
- In-Network
- Out-of-Network
- General
coverageLevel:
type: string
description: 'Coverage level of the benefits. Eg: ''Individual'', ''Family'', ''Employee Only'''
example:
- Individual
- Family
- Employee Only
benefitStartDate:
type: string
description: Benefit Start Date. Date in ISO8601 format
format: date
example: '1945-01-15'
benefitEndDate:
type: string
description: Benefit End Date. Date in ISO8601 format
format: date
example: '1945-01-15'
deductible:
type: array
description: Deductible details
items:
type: object
properties:
deductibleAmount:
type: string
description: Total deductible amount
deductibleUsed:
type: string
description: Used deductible amount
deductibleRemaining:
type: string
description: Remaining deductible amount
deductiblePayerNotes:
type: string
description: Deductible payer notes
outOfPocket:
type: array
description: Out Of Pocket Maximum Details
items:
type: object
properties:
outOfPocketMaximum:
type: string
description: Out of pocket maxiumum amount
outOfPocketUsed:
type: string
description: Out of pocket amount used
outOfPocketRemaining:
type: string
description: Out of pocket amount remaining
outOfPocketPayerNotes:
type: string
description: Out of pocket Payer notes
required: []
serviceLevelDetails:
type: array
description: Service level details from the payer's eligibility record
items:
type: object
properties:
serviceTypeCode:
type: string
description: Code representing the type of service (e.g., 42 for Home Health)
serviceTypeDescription:
type: string
description: Description of the service associated with the code
coverageStatus:
type: string
description: Coverage status for the service type
coverageDescription:
type: string
description: Coverage description from the payer
benefitStartDate:
type: string
description: Benefit Start Date. Date in ISO8601 format
format: date
example: '1945-01-15'
benefitEndDate:
type: string
description: Benefit End Date. Date in ISO8601 format
format: date
example: '1945-01-15'
serviceLevelBenefits:
type: array
description: Plan benefits and plan level accumulator info
items:
type: object
properties:
network:
type: string
enum:
- In-Network
- Out-of-Network
- General
coverageLevel:
type: string
description: 'Coverage level of the benefits. Eg: ''Individual'', ''Family'', ''Employee Only'''
example:
- Individual
- Family
- Employee Only
coPayment:
type: array
description: Co-payment details for the service type.
items:
type: object
properties:
coPayAmount:
type: string
description: Co-Pay amount
coPayPayerNotes:
type: string
description: Co-Pay Payer Notes
authRequired:
type: string
description: Indicates if authorization is needed for the specified benefit.
coInsurance:
type: array
description: Co-Insurance details for the service type.
items:
type: object
properties:
coInsurancepercent:
type: string
description: Co-Insurance % for service type.
coInsurancePayerNotes:
type: string
description: Co-Insurance Payer Notes
authRequired:
type: string
description: Indicates if authorization is needed for the specified benefit.
deductible:
type: array
description: Deductible requirements for service type.
items:
type: object
properties:
deductibleAmount:
type: string
description: Total deductible amount
deductibleUsed:
type: string
description: Used deductible amount
deductibleRemaining:
type: string
description: Remaining deductible amount
deductiblePayerNotes:
type: string
description: Deductible payer notes
visitLimitsAndDisciplineExclusionsDetails:
type: array
description: Visit Limits And Discipline Exclusions details for the service type.
items:
type: object
properties:
visitLimitsAndDisciplineExclusions:
type: string
description: Limits and exclusions for the service type.
visitLimitsAndExclusionsPayerNotes:
type: string
description: Visit limits and Exclusions Payer Notes
authRequired:
type: string
description: Indicates if authorization is needed for the specified benefit.
required: []
memberIdCard:
type: object
description: Member ID card details from the payer's eligibility record
properties:
payerId:
type: string
description: 5-digit payer ID from the insurance ID card
providerPhoneNumber:
type: string
description: Customer or provider service number listed on the card
medicareNationalNetworkStatus:
type: string
description: Network status specific to Medicare plans shown on the card
levelFundedPlan:
type: boolean
description: Level funded plan identified on the ID card
required: []
additionalCoverageDetails:
type: array
description: Additional coverage details from the payer's eligibility record
items:
type: object
properties:
planName:
type: string
description: Name of the additional or secondary insurance plan
payerId:
type: string
description: Payer ID of the secondary insurance
coverageStartDate:
type: string
description: Start date for additional coverage . Date in ISO8601 format
example: '2024-06-15'
coverageEndDate:
type: string
description: End date for additional coverage. Date in ISO8601 format
example: '2025-06-14'
memberId:
type: string
description: Member identification number returned from the payer
required: []
primaryCareProviderDetails:
type: array
description: Primary care provider details from the payer's eligibility record
items:
type: object
properties:
pcpFirstName:
type: string
description: First name of the primary care provider (PCP)
pcpLastName:
type: string
description: Last name of the primary care provider (PCP)
pcpContactNumber:
type: string
description: Contact number for the PCP
pcpAddress:
type: object
description: Address of the PCP
properties:
addressLine1:
type: string
description: Address line 1
addressLine2:
type: string
description: Address line 2
city:
type: string
description: City
state:
type: string
description: State
zip:
type: string
description: Zip
pcpType:
type: string
description: Type of PCP
pcpNPI:
type: string
description: National Provider Identifier for the PCP
pcpGroupNumber:
type: string
description: National Provider group number
required: []
contractedServiceProvider:
type: object
description: Contracted service provider details from the payer's eligibility record
properties:
contractedServiceProviderName:
type: string
description: Contracted Service Provider Name
contractedServiceProviderAddress:
type: object
description: Contracted Service Provider address
properties:
addressLine1:
type: string
description: Address line 1
addressLine2:
type: string
description: Address line 2
city:
type: string
description: City
state:
type: string
description: State
zip:
type: string
description: Zip
required: []
eligibilityAlert:
type: array
description: Eligibility alert details from the payer's eligibility record
items:
type: object
properties:
eligibilityAlertType:
type: string
description: 'Alert type category - Eg: Patient data mismatch'
alertDescription:
type: string
description: Payer/Clearing house alerts for the Eligibility transaction
required: []
required:
- patientDetails
TaskName:
type: string
enum:
- submit-authorization
- submit-eligibility
EligibilityTaskFailures:
oneOf:
- $ref: '#/components/schemas/SubmitEligibilityFailure'
TaskFailed:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Failed'
startedAt:
$ref: '#/components/schemas/DateString'
endedAt:
$ref: '#/components/schemas/DateString'
attempt:
minimum: 1
type: integer
taskPayload:
$ref: '#/components/schemas/TaskFailures'
SubmitEligibilityProgress:
type: object
properties:
submitEligibility:
$ref: '#/components/schemas/SubmitEligibilityProgress_submitEligibility'
EligibilityTaskProgresses:
oneOf:
- $ref: '#/components/schemas/SubmitEligibilityProgress'
SubmitEligibilitySuccessResponse:
type: object
properties:
eligibilityResponse:
$ref: '#/components/schemas/EligibilityResponse'
eligibilityResponseDocs:
type: array
description: Documents which are received as part of the Eligibility Response
items:
type: object
properties:
url:
type: string
format: uri
description: 'URL pointing to a file in Element5''s object store. '
documentType:
type: string
description: 'Type of the docuement. Like PDF of eligibility info from payer, PDF of member ID card if available from payer, etc. '
example: Eligibility PDF
Element5Events:
type: string
enum:
- task#queued
- task#started
- task#restarted
- task#progressed
- task#succeeded
- task#failed
TaskStatus_Success:
type: string
enum:
- success
SubmitAuthorizationSuccess:
type: object
properties:
submitAuthorization:
$ref: '#/components/schemas/SubmitAuthorizationSuccessResponse'
SubmitAuthorizationFailure:
type: object
properties:
submitAuthorization:
$ref: '#/components/schemas/SubmitAuthorizationFailure_submitAuthorization'
AuthorizationTaskSuccesses:
oneOf:
- $ref: '#/components/schemas/SubmitAuthorizationSuccess'
TaskID:
type: string
format: uuid
example: 55dfe5e9-725a-4ce0-ba41-925e588623c2
TaskStatus_Processing:
type: string
enum:
- processing
SubmitAuthorizationSuccessResponse:
type: object
properties:
authResponse:
$ref: '#/components/schemas/AuthResponse'
SubmitAuthorizationProgress:
type: object
properties:
submitAuthorization:
$ref: '#/components/schemas/SubmitAuthorizationProgress_submitAuthorization'
TaskEvents:
type: object
properties:
task:
oneOf:
- $ref: '#/components/schemas/TaskQueued'
- $ref: '#/components/schemas/TaskStarted'
- $ref: '#/components/schemas/TaskRestarted'
- $ref: '#/components/schemas/TaskProgressed'
- $ref: '#/components/schemas/TaskSucceeded'
- $ref: '#/components/schemas/TaskFailed'
TaskSuccesses:
oneOf:
- $ref: '#/components/schemas/AuthorizationTaskSuccesses'
- $ref: '#/components/schemas/EligibilityTaskSuccesses'
discriminator:
propertyName: taskName
mapping:
submit-authorization: '#/components/schemas/AuthorizationTaskSuccesses'
submit-eligibility: '#/components/schemas/EligibilityTaskSuccesses'
EligibilityTaskSuccesses:
oneOf:
- $ref: '#/components/schemas/SubmitEligibilitySuccessResponse'
TaskProgressed:
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Processing'
startedAt:
$ref: '#/components/schemas/DateString'
attempt:
minimum: 1
type: integer
taskPayload:
$ref: '#/components/schemas/TaskProgresses'
Element5WebhookRequest:
type: object
properties:
eventName:
$ref: '#/components/schemas/Element5Events'
eventId:
type: string
format: uuid
createdAt:
$ref: '#/components/schemas/DateString'
eventPayload:
oneOf:
- $ref: '#/components/schemas/TaskEvents'
AuthorizationTaskProgresses:
oneOf:
- $ref: '#/components/schemas/SubmitAuthorizationProgress'
SubmitAuthorizationProgress_submitAuthorization:
type: object
properties:
progress:
type: string
AuthorizationTaskFailures:
oneOf:
- $ref: '#/components/schemas/SubmitAuthorizationFailure'
AuthResponse:
type: object
properties:
patientDetails:
type: object
description: Patient Details
properties:
firstName:
type: string
description: Patient first name
maxLength: 50
minLength: 1
example: John
lastName:
type: string
description: Patient last name
maxLength: 50
minLength: 1
example: Smith
middleName:
type: string
description: Patient middle name
example: Edward
patientId:
type: string
description: 'Patient Unique ID - Eg: Medical Record number'
example: BOX00003977
required:
- firstName
- lastName
- patientId
payerDetails:
type: object
description: Payer Details
properties:
memberId:
type: string
description: Member identification number/payer policy number
example: W9837639
payerPlanName:
type: string
description: Payer Plan name of the patient
example: AARP® Medicare Advantage from UnitedHealthcare
gateway:
type: string
description: Gateway in which the authorization was submitted
example: UHC
required:
- memberId
- payerPlanName
- gateway
authorizationResponse:
description: Authorization Response Details
type: object
properties:
authNumber:
type: string
description: Authorization number returned from the payer after the request is placed
authStatus:
type: string
description: Status of the overall authorization request
enum:
- PENDING
- APPROVED
- DENIED
- PARTIALLY APPROVED
- EXCEPTION
example: PENDING
lastStatusCheck:
type: string
format: date
description: Timestamp of the last attempt to submit or check the authorization in the portal. Date in ISO8601 format (YYYY-MM-DD)
example: '2025-05-26'
payerResponseDate:
type: string
format: date
description: Date in which the payer gave a response of the request that is no longer pending. Date in ISO8601 format (YYYY-MM-DD)
example: '2025-07-30'
service
# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/element5/refs/heads/main/openapi/element5-automation-api-openapi.yml