Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/element5-eligibility-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
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 Specification
openapi: 3.2.0
info:
title: Element5 Eligibility 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: Eligibility
description: Eligibility related APIs
paths:
/wf/v2/workflows/submit-eligibility:
post:
tags:
- Eligibility
summary: Eligibility Submission Request
operationId: submitEligibilityRequest
description: 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.
requestBody:
description: Submit Eligibility Request Body
content:
application/json:
schema:
$ref: '#/components/schemas/SubmitEligibilityRequest'
responses:
'200':
description: Submit Eligibility Request Created
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRequestSuccessResponse_Eligibility'
'400':
description: Submit Eligibility Request Failed
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRequestFailedResponse'
'401':
description: API key is missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/AuthError'
'403':
description: Access forbidden. The API key is valid but does not have permission to access this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationError'
security:
- ApiKeyAuth: []
/wf/v2/workflows/submit-eligibility/{task-id}:
get:
tags:
- Eligibility
summary: Eligibility Submission Request Status
description: Fetch the current status of an Eligibility Submission Request. It takes the `taskId`, provided by the Eligibility Submission Request, as input.
operationId: getSubmitEligibilityRequestStatus
parameters:
- name: task-id
in: path
description: Provide a task id to retreive the Eligibility Submission Request status
required: true
style: simple
explode: false
schema:
type: string
format: uuid
responses:
'200':
description: Status of an Eligibility Submission Request
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_eligibility'
'401':
description: API key is missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/AuthError'
'403':
description: Access forbidden. The API key is valid but does not have permission to access this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationError'
security:
- ApiKeyAuth: []
/wf/v2/workflows/process-x12-eligibility-transaction:
post:
tags:
- Eligibility
summary: Process X12 Eligibility Transaction (Draft)
operationId: processX12EligibilityTransactionRequest
description: 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.
requestBody:
description: Process X12 Eligibility Transaction Request Body
content:
application/json:
schema:
$ref: '#/components/schemas/ProcessX12EligibilityTransactionRequest'
responses:
'200':
description: Status of a Process X12 Eligibility Transaction Request
content:
application/json:
schema:
$ref: '#/components/schemas/TaskRequestSuccessResponse_ProcessX12EligibilityTransaction'
'401':
description: API key is missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/AuthError'
'403':
description: Access forbidden. The API key is valid but does not have permission to access this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationError'
security:
- ApiKeyAuth: []
/wf/v2/workflows/process-x12-eligibility-transaction/{task-id}:
get:
tags:
- Eligibility
summary: Process X12 Eligibility Transaction Status (Draft)
operationId: getProcessX12EligibilityTransactionRequestStatus
description: Fetch the current status of an Process X12 Eligibility Transaction. It takes the `taskId`, provided by the Process X12 Eligibility Transaction, as input.
parameters:
- name: task-id
in: path
description: Provide a task id to retreive the Process X12 Eligibility Transaction status
required: true
style: simple
explode: false
schema:
type: string
format: uuid
responses:
'200':
description: Status of a Process X12 Eligibility Transaction
content:
application/json:
schema:
$ref: '#/components/schemas/inline_response_200_process_x12_eligibility_transaction'
'401':
description: API key is missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/AuthError'
'403':
description: Access forbidden. The API key is valid but does not have permission to access this resource.
content:
application/json:
schema:
$ref: '#/components/schemas/AuthorizationError'
security:
- ApiKeyAuth: []
components:
schemas:
TaskName_ProcessX12EligibilityTransaction:
type: string
title: TaskName
enum:
- process-x12-eligibility-transaction
SubmitEligibilityRequestPayload:
type: object
properties:
senderDetails:
type: object
properties:
partnerName:
type: string
description: Partner entity Name
example: Wellsky
organizationName:
type: string
description: Organization/Corporation name of the entity requesting the service
example: 11111-Affinity
agencyName:
type: string
description: Agency/Clinic name associated to the service
example: Polk
branchName:
type: string
description: Branch name associated to the service
example: Branch1
required:
- partnerName
- organizationName
- agencyName
- branchName
patientDetails:
type: object
properties:
firstName:
type: string
description: Patient's first name as recorded in EHR
maxLength: 50
minLength: 1
lastName:
type: string
description: Patient's last name as recorded in EHR
maxLength: 50
minLength: 1
middleName:
type: string
description: Patient's middle name as recorded in EHR
maxLength: 50
minLength: 1
patientId:
type: string
description: Medical Record Number assigned to the patient in the EHR.
dateOfBirth:
type: string
format: date
description: Date of birth of the patient as per EHR. Date in ISO8601 format
example: '1945-01-15'
gender:
type: string
description: Gender of the patient as per EHR
enum:
- M
- F
startOfCareDate:
type: string
description: The date the care episode or service started for the patient. Date in ISO8601 format
format: date
example: '2024-06-15'
patientAddress:
type: object
description: Patient's address as recorded in EHR
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
required:
- firstName
- lastName
- dateOfBirth
- patientId
- gender
payerDetails:
type: object
properties:
payerName:
type: string
description: Payer name
payerPlanName:
type: string
description: Payer Plan name of the patient as in EHR
payerType:
type: string
description: Payer type of the patient as in EHR
payerId:
type: string
description: Payor ID to submit the request to clearinghouse/Payer.
payerHierarchy:
type: string
description: Indicates whether the insurance is Primary, Secondary, or Tertiary. (P/S/T)
enum:
- P
- S
- T
memberId:
type: string
description: Member identification number provided by the payer and stored in the EHR
MBI:
type: string
description: Medicare beneficiary ID, if Medicare Patient
medicaidID:
type: string
description: Medicaid ID, if applicable
required:
- payerPlanName
- payerName
- payerType
- memberId
gateway:
oneOf:
- $ref: '#/components/schemas/WaystarGateway'
- $ref: '#/components/schemas/UHCGateway'
- $ref: '#/components/schemas/AvailityGateway'
discriminator:
propertyName: gatewayName
mapping:
Waystar: '#/components/schemas/WaystarGateway'
UHC: '#/components/schemas/UHCGateway'
Availity: '#/components/schemas/AvailityGateway'
servicingProviderDetails:
type: object
properties:
branch:
type: string
description: Branch Name submitting the request
branchNPI:
type: string
description: Branch NPI submitting the request
branchAddress:
type: object
description: Branch's address as recorded in EHR
properties:
addressLine1:
type: string
description: Branch's address line 1
addressLine2:
type: string
description: Branch's address line 2
city:
type: string
description: Branch's city
state:
type: string
description: Branch's state
zip:
type: string
description: Branch's zip
required:
- branch
- branchNPI
serviceTypeCodes:
type: array
items:
type: string
enum:
- '30'
- '42'
- '45'
description: 'Service type codes to check eligibility. Use 270 codeset for service codes: 30 - General, 42 - Home Health, 45 - Hospice'
required:
- patientDetails
- payerDetails
- servicingProviderDetails
- serviceTypeCodes
- senderDetails
ProcessX12EligibilityTransactionRequest:
required:
- taskPayload
type: object
properties:
taskPayload:
$ref: '#/components/schemas/ProcessX12EligibilityTransactionRequestPayload'
TaskStatus_Queued:
type: string
enum:
- queued
ProcessX12EligibilityTransactionAttachment270:
type: object
description: X12 270 file.
required:
- uri
properties:
uri:
type: string
description: HTTPS object store URI or data URI for the eligibility request (270) file.
oneOf:
- pattern: ^https://(blob|blob-[a-zA-z]*)\.e5\.ai/file-object/[a-zA-Z0-9-].*$
description: Must be an HTTPS link from blob.e5.ai or blob-qa.e5.ai
- pattern: ^data:application/edi-x12;base64,[a-zA-Z0-9+/]*={0,2}$
description: Base64 encoded EDI Data URI X12
- pattern: ^data:(application/gzip|application/x-gzip|application/edi-x12\+gzip);base64,[a-zA-Z0-9+/]*={0,2}$
description: Base64 encoded Gzipped EDI Data URI
interchangeDate:
type: string
format: date
description: Date of submission. ISO 8601 date.
interchangeTime:
type: string
description: Time of submission. ISO 8601 time.
interchangeTimezone:
type: string
description: Timezone of submission time. Mandatory when interchangeDate is provided.
TaskSucceeded_EdiExchange:
type: object
title: TaskSucceeded
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName_ProcessX12EligibilityTransaction'
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:
type: object
properties:
response:
type: object
TaskRequestFailedResponse:
type: object
properties:
status:
$ref: '#/components/schemas/TaskStatus_Failed'
reason:
type: string
description: Task Request has failed
TaskRestarted_EdiExchange:
type: object
title: TaskRestarted
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName_ProcessX12EligibilityTransaction'
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
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'
TaskRequestSuccessResponse_ProcessX12EligibilityTransaction:
type: object
title: TaskRequestSuccessResponse
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName_ProcessX12EligibilityTransaction'
createdAt:
$ref: '#/components/schemas/DateString'
status:
$ref: '#/components/schemas/TaskStatus_Queued'
description: Task Request has succeeded
TaskProgressed_Eligibility:
title: TaskProgressed
type: object
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName_Eligibility'
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/EligibilityTaskProgresses'
SubmitEligibilityProgress_submitEligibility:
type: object
properties:
progress:
type: string
TaskSucceeded_Eligibility:
type: object
title: TaskSucceeded
properties:
taskId:
$ref: '#/components/schemas/TaskID'
taskName:
$ref: '#/components/schemas/TaskName_Eligibility'
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/EligibilityTaskSuccesses'
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 no
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/element5/refs/heads/main/openapi/element5-eligibility-api-openapi.yml