POST
/
change
/
medicalnetwork
/
eligibility
/
v3

This endpoint sends real-time eligibility checks to payers. Visit Check eligibility for a full how-to guide.

  • Call this endpoint with a JSON payload.
  • Stedi translates your request to the 270 X12 EDI format and sends it to the payer.
  • The endpoint returns a synchronous response from the payer in both JSON and raw X12 EDI format. The response contains the patient’s eligibility and benefits information.

This endpoint is a direct replacement for the Change Healthcare (CHC) Check Eligibility API.

Test endpoint

When you submit the following request, Stedi returns mock benefits data from the specified payer you can use for testing. You need a Stedi API key for authentication, and you must set the stedi-test header to true.

Timeout and Concurrency

Requests to payers typically time out at 1 minute, though Stedi can keep connections open longer than that if needed.

Our real-time eligibility check endpoint has rate limiting on a per-account basis. This limit is based on concurrent requests, not requests per second. The default rate limit is 5 concurrent requests; if you need a higher limit, reach out to Support.

Insurance payers may take up to 60 seconds to respond to a request, so your transactions per second (and thus your concurrency limit) will vary based on the payer response time. If you reach the maximum concurrency limit, Stedi will reject additional requests with a 429 HTTP code until one of your previous requests is completed.

Automatic repairs

Stedi automatically applies various repairs to help your requests meet X12 HIPAA specifications, resulting in fewer payer rejections.

Required information

The fields you include in your eligibility request depend on your use case and the payer’s requirements. However, each eligibility check must include at least the following information in the request body:

InformationDescription
controlNumberAn integer used to identify the transaction. It does not need to be globally unique. This value is returned in the response as controlNumber.
tradingPartnerServiceIdYou can find the payer ID in our list of supported payers. You can also use the same payer IDs you used for CHC eligibility checks.
provider object, nameYou must include the provider’s name - either the firstName and lastName of a specific provider within a practice or the organizationName.
provider object, identifierYou must include an identifier. Most often this is the National Provider Identifier (NPI). The NPI is a unique, 10-digit identification number assigned to healthcare providers according to HIPAA standards.
subscriber and/or dependent objectsYou must include enough information for the payer to identify the patient in their system. Every payer can return benefits information when you provide the patient’s first name, last name, date of birth, and member ID. We recommend always including the member ID in requests when possible. Also ensure you provide the name and date of birth exactly as written on their insurance ID card. Using shortened versions – such as “Nick” instead of “Nicolas” – can prevent the payer from finding the patient in their system. Learn more.
encounter object, service datesYou can specify either a single dateOfService or a beginningDateOfService and endDateOfService. Stedi defaults to using the current date if you don’t include one. We recommend submitting dates up to 12 months in the past or up to the end of the current month. Dates outside of these ranges are likely to be rejected by many payers, since they may have archived older data and they cannot guarantee eligibility for future months.
encounter object, service or procedure codesSpecify serviceTypeCodes and/or a procedureCode and productOrServiceIDQualifier to request specific types of benefits information. We don’t know which payers support multiple service type codes, so we recommend including no more than one in each request. If you do not include any of these fields, Stedi defaults to using 30 (Plan coverage and general benefits) as the only serviceTypeCodes value.

Troubleshooting

For a list of possible errors and resolution steps, visit Errors and resolutions.

Authorizations

Authorization
string
headerrequired

API key authentication via the 'Authorization' header

Body

application/json
submitterTransactionIdentifier
string

An internal ID or other value that you use to track the eligibility check within your company's business system. You can use any string value up to 50 characters.

controlNumber
string
required

An integer used to identify the transaction. It does not need to be globally unique. This value is returned in the response as controlNumber.

tradingPartnerServiceId
string
required

This is the Payer ID. Visit the Payer Network for a complete list.

tradingPartnerName
string

The payer's name, such as Cigna or Aetna.

provider
object
required

Information about the entity requesting the eligibility check. This may be an individual practitioner, a medical group, a hospital, or another type of healthcare provider. You must provide the organizationName (if the entity is an organization) or firstName and lastName (if the provider is an individual). You must also provide an identifier - this is typically the provider's National Provider ID (npi).

portalUsername
string

The username that the provider uses to log in to the payer's portal. This is not commonly used.

portalPassword
string

The password that the provider uses to log in to the payer's portal. This is not commonly used.

informationReceiverName
object

Provide additional information to identify the entity making the eligibility request. For example, if a provider has multiple locations, you may need to provide the address of the specific location.

subscriber
object
required

The person who is the primary policyholder for the insurance plan. You only need to supply the fields necessary for your use case and for the provider to identify the subscriber in their system. All payers must be able to search for patients when you provide all of the following information: member ID, first name, last name, date of birth. Some payers may be able to search with less information, but this varies by payer. We recommend always including the patient's member ID when possible.

dependents
object[]

One or more dependents for which you want to retrieve benefits information. The patient qualifies as a dependent for eligibility checks when the patient is listed as a dependent on the subscriber’s insurance plan AND the payer cannot uniquely identify the patient through information outside the subscriber’s policy. For example, if the dependent has their own member ID number, you should identify them in the subscriber object instead.

encounter
object

Details about the eligibility or benefit information you are requesting for the patient. If you don't specify service date (either a single day or a range of dates), Stedi defaults to using the current date. If you don't specify either serviceTypeCodes or a procedureCode and productOrServiceIDQualifier, Stedi defaults to using 30 (Plan coverage and general benefits) as the only serviceTypeCodes value.

Response

200 - application/json
meta
object

Metadata about the response. Stedi uses this data for tracking and troubleshooting.

controlNumber
string

The control number you sent in the original eligibility check request.

reassociationKey
string

Deprecated; do not use.

tradingPartnerServiceId
string

An ID for the payer you identified in the original eligibility check request. This value may differ from the tradingPartnerServiceId you submitted in the original request because it reflects the payer's internal concept of their ID, not necessarily the ID Stedi uses to route requests to this payer.

provider
object

Information about the entity that submitted the original eligibility check request. This may be an individual practitioner, a medical group, a hospital, or another type of healthcare provider.

subscriber
object

Information about the primary policyholder for the insurance plan listed in the original eligibility check request.

subscriberTraceNumbers
object[]

The unique identifier assigned to the transaction by either the payer or the entity that submitted the original eligibility check request.

dependents
object[]

Information about the dependents listed in the original eligibility check request.

payer
object

Information about the payer providing the benefits information and the organization receiving it.

planInformation
object

Additional identification for the subscriber's healthcare plan.

planDateInformation
object

Contains the dates associated with the subscriber's insurance plan. This information is used to determine the patient's eligibility for benefits. All dates are formatted as YYYYMMDD (for single dates) or as YYYYMMDD-YYYYMMDD (for date ranges). Fields contain a single date unless otherwise noted.

planStatus
object[]

Deprecated; please use benefitsInformation.

benefitsInformation
object[]

Information about the subscriber or dependents' healthcare benefits. This includes coverage level (individual vs. family), coverage type (deductibles, copays, etc.), out of pocket maximums, and more.

errors
object[]

When a payer rejects your eligibility check, the response contains one or more 'AAA' errors that specify the reasons for the rejection and any recommended follow-up actions. Learn more

warnings
object[]

Warnings indicate non-fatal issues with your eligibility check or a non-standard response from the payer.

status
string
transactionSetAcknowledgement
string

The transaction set acknowledgment code provided in in the X12 EDI 999 response.

implementationTransactionSetSyntaxError
string

The implementation transaction set error code provided in IK502 of the 999 transaction.

x12
string

The raw X12 EDI 271 Eligibility Benefit Response from the payer.