Introducing our redesigned JSON Real-Time Eligibility Check API

We're releasing a redesigned version of our JSON Real-Time Eligibility Check API endpoint: POST https://healthcare.us.stedi.com/2026-06-01/eligibility-check.

The new endpoint's response format makes it easier to parse a patient's benefits.

Challenges with the legacy endpoint

Before, you could get eligibility responses as JSON using Stedi's pre-existing JSON Real-Time Eligibility Check API endpoint – now called our legacy endpoint.

The legacy endpoint returns responses in a structure that mirrors the X12 eligibility response. Benefits for different plans and different benefit types, such as coverage status, limitations, and deductibles, are intermixed in a flat benefitsInformation array.

The benefitsInformation array is "polymorphic," just like the underlying X12 structure. The fields in each entry change depending on the context.

For example, the benefitsInformation.benefitPercent field is optional, but it only makes sense when benefitsInformation.code is A (Co-Insurance). benefitsInformation.benefitAmount is also optional, but it isn't valid for a Co-Insurance benefit.

This polymorphism puts the burden of untangling the flat response on you. The responses also use X12 codes, like C for a deductible or F for limitations, so you map each one to its meaning.

The redesigned endpoint

The new endpoint removes the polymorphism. It groups benefits by health plan. In each plan, it breaks the payer's benefit details out into separate typed objects: statuses (for example: ACTIVE_COVERAGE and INACTIVE), coPayment, coInsurance, deductible, and more. Each object has a predictable shape, so you know which fields to expect. It spells values out: ACTIVE_COVERAGE instead of 1, IN_NETWORK instead of Y. Each benefit names the Service Type Code (STC) or procedure code it applies to.

{
  "payerId": "87726",
  "plans": [
    {
      "name": "Gold Plan HMO",
      "benefits": {
        "statuses": [
          {
            "status": "ACTIVE_COVERAGE",
            "coverageLevel": "INDIVIDUAL",
            "network": { "indicator": "IN_AND_OUT_OF_NETWORK" },
            "service": {
              "system": "STC",
              "value": "30",
              "definition": "Health Benefit Plan Coverage"
            }
          }
        ],
        "coPayment": [
          {
            "amount": "15",
            "coverageLevel": "INDIVIDUAL",
            "messages": ["SPECIALIST"],
            "network": { "indicator": "IN_NETWORK" },
            "service": {
              "system": "STC",
              "value": "96",
              "definition": "Professional (Physician)"
            },
            "timePeriod": "VISIT"
          }
        ]
      }
    }
  ],
  ...
}

Watch the 2026 Stedi Keynote announcement:

Request format

To run checks with the new endpoint, you only need to provide the same information you use to run eligibility checks today:

  • The payer ID, which you can get from the Payers API or the Stedi Payer Network.
  • The provider's name and identifier, typically their National Provider Identifier (NPI).
  • The patient's first name, last name, date of birth, and, if you have it, member ID.
  • The STC or procedure code you want benefits for. If you don't specify an STC or procedure code, Stedi defaults to STC 30 (Health Benefit Plan Coverage).

For example:

curl --request POST \
  --url https://healthcare.us.stedi.com/2026-06-01/eligibility-check \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '{
    "payerId": "87726",
    "provider": {
      "name": { "organization": "Provider Name" },
      "npi": "1999999984"
    },
    "subscriber": {
      "name": { "person": { "firstName": "John", "lastName": "Doe" } },
      "dateOfBirth": "1970-01-01",
      "memberId": "UHC202649"
    },
    "encounter": {
      "services": [{ "system": "STC", "value": "30" }]
    }
  }'

For more information, see our API reference docs.

Lossless eligibility responses

All eligibility responses returned by Stedi are lossless, including responses from the new endpoint.

Stedi sends you exactly what the payer returns. Even when a payer sends back non-compliant data, Stedi preserves and returns it.

Test mode support

You can use the new endpoint to run pre-defined mock eligibility checks in test mode with a test API key. Use mock checks to build integrations and run tests without sending real checks to payers.

Mock eligibility checks are available on all Stedi accounts, including free sandbox accounts. For more information, see our test mode docs.

Existing integrations

We're not deprecating the legacy JSON Real-Time Eligibility Check API endpoint or any other functionality as part of this release.

This release doesn't introduce any breaking changes. Your existing integrations will continue working as they do today.

Availability and pricing

The new JSON Real-Time Eligibility Check API endpoint is available on all Stedi accounts.

Mock eligibility checks are free. Production eligibility checks are priced per transaction. For pricing, see our Pricing page.

Get started

To get started with Stedi, sign up for a free sandbox account. It takes less than two minutes. No credit card is required.

When you're ready to run real eligibility checks, upgrade to production on our pay-as-you-go plan. There are no monthly minimums or setup fees. You only pay for the transactions you use.

PreviousIntroducing Stedi Lockbox

Get started with Stedi

Start free with a sandbox account. Upgrade to production when you’re ready. There are no monthly minimums or setup fees. You only pay for the transactions you use. See our pricing.

Sign up free