Introducing the CMS-1500 Professional Claim API endpoints

You can now submit, validate, and retrieve 837P professional claims through JSON API endpoints that mirror the CMS-1500 paper form.

EndpointWhat it does
CMS-1500 Create Professional Claim SubmissionAccepts a claim submission in a CMS-1500 JSON structure, validates the claim using Stedi's database of claim edits, and sends the claim to the payer.
CMS-1500 Validate Professional Claim SubmissionValidates the claim using Stedi's database of claim edits without sending the claim to the payer. Returns an empty 200 response if the claim passes Stedi's edits, or an error if it doesn't.
CMS-1500 Retrieve Professional Claim SubmissionReturns a submitted claim in the CMS-1500 JSON structure. You can then make corrections to the claim and resubmit it using the CMS-1500 Create Professional Claim Submission endpoint. You can retrieve any professional claim submitted through Stedi, not just claims submitted using the CMS-1500 Create Professional Claim Submission endpoint.

The CMS-1500 – also called the HCFA form – is the standard paper form for professional claims. Every box on the form has a number. Many billers know these numbers. Payers cite them in their own guides. And many AI agents are trained on them.

Until now, only the Stedi portal's professional claim form mirrored the CMS-1500. Our JSON 837P Professional Claim Submission endpoint uses a separate schema. To build your own CMS-1500 form, you had to map each box in the CMS-1500 to a field in our API.

Now developers and AI agents can apply what they know about the CMS-1500 to Stedi's API. The new endpoints are the same ones that power Stedi's own claim form.

Important: We're not deprecating the JSON 837P Professional Claim Submission endpoint or any other functionality as part of this release. Your existing integrations will continue working.

Watch the 2026 Stedi Keynote announcement:

Request shapes

The new endpoints group fields the same way the CMS-1500 form does. The API reference includes the box number for most fields.

For example, Box 24 – Service lines of the CMS-1500 form is the grid where you list each service you bill.

Box 24 service lines grid on the CMS-1500 form

One row of that grid is one object in the serviceLines array:

{
  "serviceLines": [
    {
      "datesOfService": { "start": "2024-01-01", "end": "2024-01-01" },  // Box 24a - Dates of service
      "placeOfService": "02",  // Box 24b - Place of service
      "procedureCode": { "code": "90837", "modifiers": ["95"] },  // Box 24d - Procedure code and modifier
      "diagnosisCodes": ["F411"],  // Box 24e - Diagnosis codes (instead of pointers)
      "lineItemChargeAmount": "109.20",  // Box 24f - Charges
      "units": "1",  // Box 24g - Days or units
      "renderingProvider": { "identifiers": { "npi": "1427695980", "taxonomyCode": "101YM0800X" } }  // Box 24i, 24j - Rendering provider
    }
  ]
}

The rest of the form follows the same pattern.

Test mode support

You can use the CMS-1500 Create Professional Claim Submission and CMS-1500 Retrieve Professional Claim Submission endpoints in test mode. You need a test API key for a Stedi production account. Test claims simulate real claim submissions, but Stedi doesn't send them to a payer.

The CMS-1500 Validate Professional Claim Submission endpoint is not supported in test mode.

Sandbox accounts can't use the CMS-1500 endpoints. To submit test claims, upgrade to a production account.

Test mode is for testing transactions you intend to submit through Stedi. Stedi applies fair use limits to test volume.

For more information, see our test mode docs.

Limitations

The CMS-1500 endpoints don't support claims for non-primary payers, such as a secondary payer, when the patient is covered by more than one insurance plan. To submit a professional claim to a non-primary payer, use the JSON 837P Professional Claim Submission endpoint, Raw X12 837P Professional Claim Submission endpoint, or SFTP instead.

Choosing the right API endpoints

We're not deprecating the JSON 837P Professional Claim Submission endpoint or any other functionality as part of this release. You can continue to use any existing claim submission API endpoints.

The following table provides guidance on when to use each endpoint.

EndpointWhen to use it
CMS-1500 endpointsYou're building a new UI, workflow, or other application for professional claim submissions. You don't need to submit claims to non-primary payers.
JSON 837P Professional Claim Submission endpointYou need to submit claims to a non-primary payer, such as a secondary or tertiary payer.
Raw X12 837P Professional Claim Submission endpoint or SFTPYou already use X12 EDI to submit claims.

Availability and pricing

The CMS-1500 endpoints are available on all Stedi production accounts.

Claim retrieval is free. Test claim submissions are free. Production claim submissions and validations 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 submit real or test claims, 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 the Stedi TypeScript and Python SDKs

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