POST
/
change
/
medicalnetwork
/
eligibility
/
v3
/
raw-x12

This endpoint sends real-time eligibility checks to payers in raw X12 EDI format. This is ideal if you have an existing system that generates X12 EDI files and you want to send them through Stedi’s API.

  • Call this endpoint with payload in 270 X12 EDI format.
  • Stedi validates the EDI and sends the eligibility check 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.

Character restrictions

Only use the following characters as delimiters: ~, *, : and ^. The X12 format doesn’t support using escape sequences, so you can’t include delimiters or special characters as part of the request data. Stedi returns a 400 error if you include restricted characters as anything other than delimiters in the request.

Only use the X12 Basic and Extended character sets in request data. Using characters outside these sets may cause validation and HTTP 400 errors.

Autocorrection

Stedi automatically replaces backticks (`), also known as backquotes or grave accents, with a single quote (') in subscriber and dependents first and last names. This autocorrection prevents errors when submitting your request to payers and intermediary clearinghouses. Stedi returns a message in the response’s warnings array when it makes this replacement.

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 rejects additional requests with a 429 HTTP code until one of your previous requests is completed. Rejected requests have the following error message:

{
  "message": "The request can't be submitted because the sender's submission has been throttled: CUSTOMER_LIMIT",
  "code": "TOO_MANY_REQUESTS",
  "eligibilitySearchId": "019249c7-e176-76b0-a46a-3aef1a519bc4"
}

Benefit response

Visit Payer benefit response for definitions of key benefit types and information about how to interpret benefits requirements such as prior authorization and referrals.

Network status: The response provides information about the patient’s general in and out-of-network coverage. It does not confirm whether a particular provider is in or out-of-network. To determine network status, you must check directly with the payer. Note that payers may have different networks for different health plans, such as employer-sponsored plans versus Medicare.

Troubleshooting

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

Authorizations

Authorization
string
headerrequired

A Stedi API Key for authentication.

Body

application/json
x12
string
required

Response

200 - application/json
meta
object

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

controlNumber
string

An identifier for the payer's response.

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. This object will always include at least one identifier, such as the provider's NPI, tax ID, or EIN.

subscriber
object

Information about the primary policyholder for the insurance plan listed in the original eligibility check request. The response will always include either the subscriber's name or member ID for identification, but most payers will also return the subscriber's date of birth and other identifying information.

subscriberTraceNumbers
object[]

A unique identifier the payer may assign to the transaction. Note that Stedi doesn't support setting a subscriber trace number in the eligibility check request because there is no need to include a trace number for real-time queries.

payer
object

Information about the payer providing the benefits information. The response will always include the payer's business name and an identifier, such as the payer's tax ID. Most payers also include contact information.

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).
  • Properties contain a single date unless otherwise noted.
  • The provided dates apply to every every benefit within the patient's health plan unless specifically noted within a benefitsInformation.benefitsDateInformation object.
  • Most payers return either plan or planBegin and planEnd, but the exact dates returned depend on the payer's discretion and the patient's insurance plan.
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.

planStatus
object[]

Deprecated; please use benefitsInformation.

dependents
object[]

Information about dependents listed in the original eligibility check request. Note that a dependent submitted in the request may be returned in the subscriber object.

When present, this object will always include the dependent's name for identification, but many payers will also return the date of birth and other identifying information.

benefitsInformation
object[]

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

Payers typically return at least the following properties: code, coverageLevelCode, serviceTypeCodes, and either benefitAmount or benefitPercent. However, the exact properties returned in this object are up to the payer's discretion.

Visit Payer benefit response for more information about benefit types, details about how to interpret the response, and additional examples.