Changelog

Introducing idempotency keys for Stedi’s Claim Submission API

Stedi’s Claim Submission API now supports an Idempotency-Key request header. The header is available for the following endpoints:

  • 837P Professional Claims – JSON and X12

  • 837D Dental Claims – JSON and X12

  • 837I Institutional Claims – JSON and X12

We strongly recommend including an idempotency key with every claim submission request.

Idempotency keys let you safely retry a failed request. If a claim submission fails mid-flight due to a network error or timeout, resend it with the same key to avoid creating a duplicate claim. You can reuse the same key for up to 24 hours after the original request.

For more details, see our API reference.

Introducing warnings for unsupported SFTP transactions

The Stedi portal’s Transactions page now displays a warning when unsupported X12 transactions are submitted or received over SFTP.

If you use Stedi’s healthcare clearinghouse, your Stedi SFTP connection supports the following transactions:

Supported outbound

Supported inbound

Unsupported SFTP transactions

Other X12 transactions aren’t supported over SFTP, including:

  • 270/271 Eligibility checks

  • 276/277 Real-time claim status checks

To run these transactions, use the Stedi portal or the respective APIs:

Previously, unsupported transactions appeared on the Transactions page without any indication that they weren’t delivered. Now, a warning indicates they weren’t processed or sent to the payer.

CMS now requires attestation for Medicare eligibility checks

To run Medicare eligibility checks with CMS, providers must complete an attestation by May 11, 2026.

Without attestation, CMS will reject Medicare eligibility requests for the provider starting on or after May 11, 2026.

What's changing

The Centers for Medicare and Medicaid Services (CMS) now requires providers to attest that clearinghouses – like Stedi – are allowed to run Medicare eligibility checks on their behalf. CMS also refers to this attestation as HETS EDI Enrollment.

This applies to all CMS trading partners, not just Stedi.

Stedi is updating new and existing CMS eligibility enrollments to include a required attestation step.

To avoid disruption to Medicare eligibility checks, attestation must be completed by May 11, 2026.

Important: The requirement doesn’t apply to:

  • Medicare Advantage, also called Medicare Part C

  • Medicare Part D

Existing enrollments

On February 17, 2026, Stedi moved any existing CMS eligibility check enrollments without an attestation to an enrollment status of PROVIDER_ACTION_REQUIRED. These enrollments now include a task with instructions to complete attestation.

Stedi also sent a notification email to the address in the enrollment's userEmail field (called Person for Stedi to contact in the Stedi portal). The email includes a link to the enrollment.

After the provider completes attestation and you mark the related enrollment task as complete, Stedi will move the CMS enrollment to the LIVE status.

How to find affected enrollments

To view these enrollments in the Stedi portal, filter for a Status of Provider Action Required and Transaction of Real-time eligibility checks (270/271) on the Enrollments page:

Enrollment filters

You can also retrieve the enrollments using the following query parameters for the List Enrollments API endpoint:

New enrollments

Starting February 16, 2026, new CMS eligibility check enrollments will require attestation. The process works as follows:

  1. When you submit a CMS eligibility check enrollment request, Stedi moves the enrollment to the PROVIDER_ACTION_REQUIRED status and adds an enrollment task to complete attestation.

  2. After the provider completes attestation and you mark the related enrollment task as complete, Stedi moves the enrollment to the LIVE status.

    Note: Once attestation is complete, you can run CMS eligibility checks immediately, even if the enrollment status is not yet LIVE.

Automatic enrollment requests for CMS

If a CMS eligibility check returns AAA error 41 (Authorization/Access Restrictions), indicating the provider is not enrolled for eligibility checks with CMS, Stedi automatically submits a CMS eligibility enrollment request for that provider.

Starting February 16, 2026, these automatic enrollment requests will follow the process for new CMS eligibility enrollments described above and require provider attestation. Previously, Stedi completed these enrollments without requiring provider action.

This feature was previously called “automatic enrollment.” We're now calling it “automatic enrollment requests.”

How to complete attestation

Attestation must be completed for each billing National Provider Identifier (NPI) enrolled with CMS for eligibility checks. There is no bulk attestation across NPIs.

Stedi can't complete this step on the provider’s behalf.

Stedi provides a task and instructions for completing the CMS attestation in:

You can also view the instructions in our Transaction Enrollments Hub.

How long does attestation take?

Attestation takes approximately 5-15 minutes to complete per NPI.

Timing

CMS has stated they'll enforce attestation requirements on May 11, 2026.

When enforcement begins, CMS will return AAA error 41 (Authorization/Access Restrictions) for Medicare eligibility checks with an NPI that has not completed attestation.

Until then, Medicare eligibility checks will continue to work as normal.

Support

If you have questions or concerns, contact us using your dedicated support channel or our contact form.

Introducing transaction enrollment tasks

You can now use Stedi’s Transaction Enrollment API or the Stedi portal to complete enrollment tasks.

What are enrollment tasks?

An enrollment task is any action that must be completed by the provider or the provider’s delegate to move an transaction enrollment forward. Examples include:

  • Electronic funds transfer (EFT) enrollment with ERA enrollment, which involves giving the payer the provider’s bank information

  • Completing an action in the payer’s portal

What's changing?

As part of this release, we’ve:

For more details and examples, check our announcement blog.

Stedi’s Claim Submission API now returns raw X12 277CA claim acknowledgments

Stedi’s Claim Submission API responses now include an X12 277CA claim acknowledgment from Stedi in the x12 field. The x12 field is returned by the JSON and X12 endpoints across professional, institutional, and dental claims. It’s returned for both accepted and rejected claims.

For example, a JSON Professional Claim Submission API response for a rejected claim:

{
  "status": "ERROR",
  "errors": [
    {
      "code": "33",
      "description": "The billing provider tax id (TIN), 1234567893, is invalid. The TIN must be ...",
      "followupAction": "Please Correct and Resubmit"
    }
  ],
  "x12": "ISA*00*          *00*          *ZZ*STEDITEST      *ZZ*284631039151 ...,
  "httpStatusCode": "400 BAD_REQUEST",
  ...
}

You can use the x12 field to debug errors from claim rejections or store Stedi’s claim acknowledgments for tracking. Previously, Claim Submission API responses only included errors as JSON in the errors array.

What’s a claim acknowledgment?

A 277CA claim acknowledgment tells you whether a claim has been accepted or rejected for processing.

Stedi returns a claim acknowledgment after initial validation. Payers also return one or more acknowledgments later in the claim lifecycle.

The x12 field contains Stedi’s initial acknowledgment, generated after validating the claim against our database of edits. These edits – the industry’s term for an automated validation rule – mirror the same edits payers apply later in the process.

Stedi’s edits help catch validation errors early and reduce downstream payer rejections, which can delay payment for providers.

Rejections

If Stedi rejects a claim, the API response’s x12 field includes a descriptive claim status category code, claim status code, and error message in the STC (Status Information) segments of Loop 2200B, 2200B, 2200C, 2200D, or 2220D.

For example:

STC*A7>128>85*[DATE]*U*[AMOUNT]********The billing provider tax id (TIN), 1234567893, is invalid. The TIN must be a string of exactly 9 numbers with no separators. Correct and resubmit.~

You can use this information to correct and resubmit the claim.

Accepted claims

If Stedi accepts a claim, the API response’s x12 field includes the following values in the STC segments of Loop 2200B, 2200C, 2200D, or 2220D:

For example:

STC*A0>17>AY*[DATE]*WQ*[AMOUNT]~

Other claim acknowledgements

Stedi’s initial acceptance of a claim doesn’t guarantee payer acceptance. Rejections may occur during downstream validation, including later rejections by Stedi or an intermediary clearinghouse.

Each acceptance or rejection returns a separate claim acknowledgment transaction. You can use a webhook to listen for these additional claim acknowledgments, poll for them using our Poll Transactions API, or monitor them manually in the Stedi portal.

Announcing 100% coverage for transaction enrollment timeframes

You can now see how long transaction enrollment takes – minutes, hours, days, or weeks – for all Stedi payers and transaction types that require enrollment.

For payers and transaction types that don’t require enrollment, no timeframe is shown.

You can view enrollment timeframes using the Payers API or the Stedi Payer Network. For example, in the Stedi Payer Network:

Enrollment timeline on Stedi Payer Network

In Payers API responses:

{
  "payer": {
    "displayName": "Blue Cross Blue Shield of Michigan",
    "primaryPayerId": "00710",
    "enrollment": {
      "ptanRequired": false,
      "transactionEnrollmentProcesses": {
        "claimPayment": {                  // This payer requires enrollment for ERAs.
          "timeframe": "INSTANT",          // ERA enrollment typically takes minutes.
          "type": "ONE_CLICK"
        }
      }
    },
    ...
  }
}

Enrollment timeframes are based on Stedi's operational data – using real enrollments completed through our platform – and payer-specific rules.

Previously, enrollment timeframes were available but not populated for every payer.

You can use enrollment timeframes to plan go-live dates and set realistic expectations with providers.

To learn more, see our Introducing timeframes for transaction enrollments blog post.

Claim edit: Invalid place of service code

Stedi now rejects 837P professional and 837D dental claims that contain invalid place of service codes.

How the edit works

Place of service codes are two-digit codes that indicate where a service was delivered. The Centers for Medicare and Medicaid Services (CMS) maintains a list of valid place of service codes. For example: 11 (Office) or 23 (Emergency Room – Hospital).

If a professional or dental claim includes an invalid place of service code, the payer may reject the claim. This can delay payment for the provider.

This edit – the industry term for an automated validation rule – catches the issue before the claim reaches the payer.

Rejection errors

If you submit a claim that fails the edit using Stedi’s Claim Submission API endpoints, you’ll get back an error response in real time. The response includes details in the errors array:

{
  "errors": [
    {
      "code": "33",
      "description": "Invalid Place of Service code. The submitted place of service code, A5, is invalid. Correct and resubmit.",
      "followupAction": "Please Correct and Resubmit"
    }
  ]
}

If you submit a claim that fails the edit using SFTP, Stedi will reject the claim with a 277CA claim acknowledgment. The acknowledgment will include a related claim status category code, claim status code, and error message:

STC*A7>249*[DATE]*U*[AMOUNT]********Invalid Place of Service code. The place of service code, A5, is not a valid two-digit number or is unassigned. Correct and resubmit.~

Introducing instant enrollment for test ERAs

Electronic Remittance Advice (ERA) enrollments for the Stedi Test Payer (Payer ID: STEDITEST) now go live automatically.

You can submit claims to the Stedi Test Payer to generate realistic ERAs as part of a test workflow. To receive these test ERAs, you must first submit an ERA enrollment request for the Stedi Test Payer.

Previously, these enrollments only went live after an ERA was generated, which required submitting a claim before enrollment was active.

Now, ERA enrollments for the test payer move to the LIVE enrollment status about a minute after you submit the enrollment request.

Batch eligibility CSVs now support MBI lookups

You can now run Medicare Beneficiary Identifier (MBI) lookups – with or without a Social Security Number (SSN) – using a CSV batch eligibility check.

Previously, batch eligibility CSVs didn't support some address or SSN fields required for MBI lookups. We've now added several new supported fields to batch eligibility CSVs.

New fields for batch eligibility CSVs

With this update, batch CSVs now support the following fields.

Provider:

  • providerReferenceIdentification

Subscriber:

  • subscriberSsn

  • subscriberGender

  • subscriberSuffix

  • subscriberAddress1

  • subscriberAddress2

  • subscriberCity

  • subscriberAddressState

  • subscriberPostalCode

Dependent:

  • dependentMiddleName

  • dependentSsn

  • dependentGender

  • dependentSuffix

  • dependentAddress1

  • dependentAddress2

  • dependentCity

  • dependentAddressState

  • dependentPostalCode

For more information, see our batch eligibility docs.

Required fields for MBI lookups

With Stedi, you run MBI lookups as eligibility checks with the respective MBILU (MBI Lookup with SSN) or MBILUNOSSN (MBI Lookup without SSN) payer IDs. You can now run these checks using batch eligibility CSVs.

Note: MBI lookups require setup through transaction enrollment. See our related documentation.

MBI lookup with an SSN

To run an MBI lookup with an SSN, you must provide:

  • The patient’s first name – subscriberFirstName or dependentFirstName

  • The patient’s last name – subscriberLastName or dependentLastName

  • The patient’s date of birth  – subscriberDateOfBirth or dependentDateOfBirth

  • The patient’s Social Security Number (SSN) – subscriberSsn or dependentSsn

MBI lookup without an SSN

To run an MBI lookup without an SSN, you must provide:

  • The patient’s first name – subscriberFirstName or dependentFirstName

  • The patient’s last name – subscriberLastName or dependentLastName

  • The patient’s date of birth  – subscriberDateOfBirth or dependentDateOfBirth

  • The patient’s U.S. state – subscriberAddressState or dependentAddressState

What to include in MBI lookups

In an eligibility check, the patient may be the subscriber or a dependent. Generally, if the dependent has their own member ID, we recommend providing their information as a subscriber.

We don't recommend including more patient demographic information, such as additional address data, than what's required. Doing so can lower MBI lookup success rates.

For more information, see our MBI lookup docs.

Claim edit: Missing subscriber address or demographics

Stedi now rejects 837P professional, 837D dental, and 837I institutional claims when the subscriber address or demographics are missing and the subscriber is the patient.

Subscribers and patients

In healthcare claims, the subscriber is the person who carries the insurance policy. They’re also called the insured or the primary policyholder.

The subscriber may be different from the patient – the person who receives care – or they may be the same person.

In healthcare claims, a person’s demographics are their date of birth and gender.

When the subscriber address and demographics are required

HIPAA-mandated X12 states that the subscriber’s address and demographics are required when the subscriber is the patient. Payers will use this information to verify the patient’s eligibility. If you submit a claim without this information, the payer may reject the claim, which can delay payment to the provider.

This edit – the industry term for an automated validation rule – catches the issue before the claim reaches the payer.

Note: If the subscriber is not the patient, the subscriber’s address and demographics are optional. 

Rejection errors

If you submit a claim that fails the edit using Stedi’s Claim Submission API, you’ll get back an error response in real time. The response includes details in the errors array:

{
  "errors": [
    {
      "code": "33",
      "description": "Missing subscriber address and/or demographics. When the patient is the subscriber (SBR02 = 18), the subscriber address and demographics are required. Correct and resubmit.",
      "followupAction": "Please Correct and Resubmit"
    }
  ]
}

If you submit a claim that fails the edit using SFTP, Stedi will reject the claim with a 277CA claim acknowledgment. The acknowledgment will include a related claim status category code, claim status code, and error message:

STC*A6>173*[DATE]*U*[AMOUNT]********Missing subscriber address and/or demographics. When the patient is the subscriber (SBR02 = 18), the subscriber address and demographics are required. Correct and resubmit.~