Use Stedi to send 837P Health Care Claims to payers and receive responses, including the 277 Claim Acknowledgement, 835 Electronic Remittance Advice (ERA), and 999 Implementation Acknowledgment.

Send claims Stedi

Send a Claim

When you call the Professional Claims endpoint:

  • Stedi automatically maps CHC payer IDs to our payer IDs.
  • Stedi translates the JSON to the X12 EDI 837 format and delivers it to the payer.

The endpoint returns a synchronous response from Stedi in JSON format. Later, the payer will respond with a 277 Claim Acknowledgement.

Supported payers

Review our list of supported payers for claims.


When constructing the request, you must include the following Stedi-specific information in headers:

  • API Key: Generate an API key to use for authentication.
  • Content Type: Set to application/json.
  • Response Type: Controls the shape of the response payload. Set to change-beta to return a payload matching the CHC Professional Claims V3 format.


The JSON payload in the body must conform to the CHC Professional Claims V3 format.

Sample request

The following example sends a professional claim.

curl --request POST \
  --url \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --header 'Stedi-Partnership-Id: <stedi-partnership-id>' \
  --header 'Stedi-Response-Type: change-beta' \
  --header 'Stedi-Transaction-Setting-Id: <stedi-transaction-setting-id>' \
  --data '{
  "controlNumber": "555123",
  "tradingPartnerServiceId": "6400",
  "submitter": {
    "organizationName": "Test Data Health Services, Inc.",
    "contactInformation": {
      "name": "Test Data Health Services, Inc.",
      "phoneNumber": "5552223333"
  "receiver": {
    "organizationName": "Cigna"
  "subscriber": {
    "memberId": "U7777788888",
    "paymentResponsibilityLevelCode": "P",
    "subscriberGroupName": "Cigna",
    "firstName": "John",
    "lastName": "Anon",
    "gender": "M",
    "dateOfBirth": "20000101",
    "groupNumber": "3335555",
    "address": {
      "address1": "2222 Random St",
      "city": "New York",
      "state": "NY",
      "postalCode": "100130000"
  "billing": {
    "providerType": "BillingProvider",
    "npi": "1235600834",
    "employerId": "832675429",
    "taxonomyCode": "2084P0800X",
    "organizationName": "Therapy Associates",
    "address": {
      "address1": "123 Some St",
      "address2": "Floor 1",
      "city": "New York",
      "state": "NY",
      "postalCode": "100130000"
    "contactInformation": {
      "name": "Test Data Health Services, Inc.",
      "phoneNumber": "5553334444"
  "claimInformation": {
    "claimFilingCode": "CI",
    "patientControlNumber": "22266555",
    "claimChargeAmount": "109.20",
    "placeOfServiceCode": "02",
    "claimFrequencyCode": "1",
    "signatureIndicator": "Y",
    "planParticipationCode": "A",
    "benefitsAssignmentCertificationIndicator": "Y",
    "releaseInformationCode": "Y",
    "healthCareCodeInformation": [
        "diagnosisTypeCode": "ABK",
        "diagnosisCode": "F1111"
    "serviceFacilityLocation": {
      "organizationName": "Smith Associates",
      "address": {
        "address1": "1234 Other St",
        "city": "New York",
        "state": "NY",
        "postalCode": "100130000"
      "npi": "4541648844"

    "serviceLines": [
        "serviceDate": "20240101",
        "professionalService": {
          "procedureIdentifier": "HC",
          "procedureCode": "90837",
          "procedureModifiers": [
          "lineItemChargeAmount": "109.20",
          "measurementUnit": "UN",
          "serviceUnitCount": "1",
          "compositeDiagnosisCodePointers": {
            "diagnosisCodePointers": [
        "renderingProvider": {
          "providerType": "RenderingProvider",
          "npi": "4541648844",
          "taxonomyCode": "111YP2000X",
          "firstName": "Jane",
          "lastName": "Smith"
  "tradingPartnerName": "Cigna"

Receive responses (277, 835, 999, TA1)

With Stedi, you don’t need to poll for claim reports (277 and 835) separately the way you did when using CHC APIs. You receive all responses from the payer automatically through JSON webhooks.

We attach Stedi mappings to the webhooks to transform Stedi’s internal shape for these transactions into CHC’s JSON format. This approach allows you to receive the data in the format you expect.

View Files

You can view the files that Stedi sends and receives in the Files page of the Stedi app.

Supported payers

Review our list of supported payers for claims.

Provider enrollment

You can begin sending claims for many payers immediately. However, there is a subset of payers that require enrollment before they will accept claims. This typically involves submitting information about the provider that will send claims to the payer, including the provider’s name, tax ID, NPI, billing address, and contact information.

The list of supported payers includes information about which payers require enrollment. Submit payers to our enrollment form, and we can help you complete the enrollment process for them as needed.

Stedi payer errors

Error messagePossible causes and resolutions
Payer is not configured for {transaction type}. Please contact Stedi support to resolve.Stedi does not yet support this transaction type for this payer, or there is a mis-mapping of payer IDs. Contact us with the name of the payer, and we’ll investigate the issue.
Payer connection does not support {transaction type}. Please contact Stedi support to discuss connectivity options.Stedi has a connection to this payer, but it doesn’t currently support this functionality (real-time eligibility or claim submission). Contact us for a timeline on enabling it.
Payer is not configured. Please check our published payer list or contact Stedi support to resolve.Stedi doesn’t recognize the payer ID you provided. Double-check the Payer ID in the Stedi Payer Network, or contact us with the name of the payer, and we will help you determine the correct payer ID.
Payer is not supported. Please contact Stedi support to discuss connectivity options.Stedi doesn’t yet have connectivity to this payer. We’re likely already working on it - contact us for details about the connectivity timeline.