Three endpoints. Complete EDI integration.

NeutronEDI's REST API gives developers direct control over EDI translation, generation, and validation — without the legacy middleware. Everything you need to integrate X12 and EDIFACT into modern systems.

Read API

X12 & EDIFACT → JSON

The Read API accepts raw X12 or EDIFACT input and returns clean, structured JSON. It supports all major X12 transaction sets — including 850, 855, 856, 810, 846, 997 and 30+ more — and all EDIFACT message types (ORDERS, INVOIC, DESADV, and more).

Input — X12 850 Purchase Order

purchase-order.x12
ISA*00*          *00*          *ZZ*NEUTRONEDI     *ZZ*TRADINGPARTNER *260412*1430*U*00401*000000001*0*P*:~
GS*PO*NEUTRONEDI*TRADINGPARTNER*20260412*1430*1*X*004010~
ST*850*0001~
BEG*00*SA*PO-48291**20260412~
N1*BT*NeutronEDI Inc*92*NEUTRONEDI~
PO1*1*100*EA*12.50**VP*WIDGET-BLUE~
PO1*2*50*EA*12.50**VP*WIDGET-RED~
CTT*2*150~
SE*7*0001~
GE*1*1~
IEA*1*000000001~

Output — JSON

response.json
{
  "success": true,
  "version": "004010",
  "isa": {
    "AuthorizationInformationQualifier_1": "00",
    "AuthorizationInformation_2": "          ",
    "SecurityInformationQualifier_3": "00",
    "SecurityInformation_4": "          ",
    "SenderIDQualifier_5": "ZZ",
    "InterchangeSenderID_6": "NEUTRONEDI     ",
    "ReceiverIDQualifier_7": "ZZ",
    "InterchangeReceiverID_8": "TRADINGPARTNER ",
    "InterchangeDate_9": "260412",
    "InterchangeTime_10": "1430",
    "InterchangeControlStandardsIdentifier_11": "U",
    "InterchangeControlVersionNumber_12": "00401",
    "InterchangeControlNumber_13": "000000001",
    "AcknowledgementRequested_14": "0",
    "UsageIndicator_15": "P",
    "ComponentElementSeparator_16": ":"
  },
  "iea": {
    "NumberOfIncludedGroups_1": "1",
    "InterchangeControlNumber_2": "000000001"
  },
  "groups": [
    {
      "gs": {
        "CodeIdentifyingInformationType_1": "PO",
        "SenderIDCode_2": "NEUTRONEDI",
        "ReceiverIDCode_3": "TRADINGPARTNER",
        "Date_4": "20260412",
        "Time_5": "1430",
        "GroupControlNumber_6": "1",
        "TransactionTypeCode_7": "X",
        "VersionAndRelease_8": "004010"
      },
      "ge": {
        "NumberOfIncludedSets_1": "1",
        "GroupControlNumber_2": "1"
      },
      "transactionSets": [
        {
          "ST": {
            "TransactionSetIdentifierCode_01": "850",
            "TransactionSetControlNumber_02": "0001"
          },
          "BEG": {
            "TransactionSetPurposeCode_01": "00",
            "PurchaseOrderTypeCode_02": "SA",
            "PurchaseOrderNumber_03": "PO-48291",
            "Date_05": "20260412"
          },
          "N1Loop": [
            {
              "N1": {
                "EntityIdentifierCode_01": "BT",
                "Name_02": "NeutronEDI Inc",
                "IdentificationCodeQualifier_03": "92",
                "IdentificationCode_04": "NEUTRONEDI"
              }
            }
          ],
          "PO1Loop": [
            {
              "PO1": {
                "AssignedIdentification_01": "1",
                "QuantityOrdered_02": "100",
                "UnitorBasisforMeasurementCode_03": "EA",
                "UnitPrice_04": "12.50",
                "ProductServiceIDQualifier_06": "VP",
                "ProductServiceID_07": "WIDGET-BLUE"
              }
            },
            {
              "PO1": {
                "AssignedIdentification_01": "2",
                "QuantityOrdered_02": "50",
                "UnitorBasisforMeasurementCode_03": "EA",
                "UnitPrice_04": "12.50",
                "ProductServiceIDQualifier_06": "VP",
                "ProductServiceID_07": "WIDGET-RED"
              }
            }
          ],
          "CTTLoop": {
            "CTT": {
              "NumberofLineItems_01": "2",
              "HashTotal_02": "150"
            }
          },
          "SE": {
            "NumberofIncludedSegments_01": "7",
            "TransactionSetControlNumber_02": "0001"
          }
        }
      ]
    }
  ],
  "ack997": null,
  "ackTA1": null,
  "errors": [],
  "requestId": null,
  "timestamp": null
}

Use cases

  • • ERP integration (SAP, Oracle, NetSuite, Dynamics)
  • • Order processing automation (850, 855)
  • • Warehouse management & shipping (856, 945)
  • • Inventory and catalog sync (846, 832)
  • • Financial reconciliation (820)

Technical details

  • • Content-Type: application/edi-x12 or application/edifact
  • • Supports UTF-8, ISO-8859-1, and other common encodings
  • • Multi-transaction envelopes handled automatically
  • • Detailed error responses with segment/element references

Write API

JSON → X12 & EDIFACT

The Write API accepts JSON following NeutronEDI's schema and returns a valid, properly delimited X12 or EDIFACT document. Build EDI output from your modern systems without memorizing segment terminators, delimiters, or transaction set rules.

Input — JSON invoice

invoice.json
{
  "content": {
    "ISA": {
      "AuthorizationInformationQualifier_1": "00",
      "AuthorizationInformation_2": "          ",
      "SecurityInformationQualifier_3": "00",
      "SecurityInformation_4": "          ",
      "SenderIDQualifier_5": "ZZ",
      "InterchangeSenderID_6": "NEUTRONEDI     ",
      "ReceiverIDQualifier_7": "ZZ",
      "InterchangeReceiverID_8": "TRADINGPARTNER ",
      "InterchangeDate_9": "260412",
      "InterchangeTime_10": "1430",
      "InterchangeControlStandardsIdentifier_11": "U",
      "InterchangeControlVersionNumber_12": "00401",
      "InterchangeControlNumber_13": "000000002",
      "AcknowledgementRequested_14": "0",
      "UsageIndicator_15": "P",
      "ComponentElementSeparator_16": ":"
    },
    "Groups": [
      {
        "GS": {
          "CodeIdentifyingInformationType_1": "IN",
          "SenderIDCode_2": "NEUTRONEDI",
          "ReceiverIDCode_3": "TRADINGPARTNER",
          "Date_4": "20260412",
          "Time_5": "1430",
          "GroupControlNumber_6": "2",
          "TransactionTypeCode_7": "X",
          "VersionAndRelease_8": "004010"
        },
        "Transactions": [
          {
            "ST": {
              "TransactionSetIdentifierCode_01": "810",
              "TransactionSetControlNumber_02": "0001"
            },
            "BIG": {
              "Date_01": "20260412",
              "InvoiceNumber_02": "INV-9921"
            },
            "IT1Loop": [
              {
                "IT1": {
                  "AssignedIdentification_01": "1",
                  "QuantityInvoiced_02": "100",
                  "UnitorBasisforMeasurementCode_03": "EA",
                  "UnitPrice_04": "12.50",
                  "ProductServiceIDQualifier_06": "VP",
                  "ProductServiceID_07": "WIDGET-BLUE"
                }
              }
            ],
            "TDS": {
              "Amount_01": "125000"
            },
            "CTT": {
              "NumberofLineItems_01": "1",
              "HashTotal_02": "100"
            },
            "SE": {
              "NumberofIncludedSegments_01": "6",
              "TransactionSetControlNumber_02": "0001"
            }
          }
        ]
      }
    ],
    "IEA": {
      "NumberOfIncludedGroups_1": "1",
      "InterchangeControlNumber_2": "000000002"
    }
  }
}

Output — X12 810

invoice.x12
ISA*00*          *00*          *ZZ*NEUTRONEDI     *ZZ*TRADINGPARTNER *260412*1430*U*00401*000000002*0*P*:~
GS*IN*NEUTRONEDI*TRADINGPARTNER*20260412*1430*2*X*004010~
ST*810*0001~
BIG*20260412*INV-9921~
IT1*1*100*EA*12.50**VP*WIDGET-BLUE~
TDS*125000~
CTT*1*100~
SE*6*0001~
GE*1*2~
IEA*1*000000002~

Use cases

  • • Generating purchase orders (850) from procurement systems
  • • Producing invoices (810) from billing pipelines
  • • Issuing advance ship notices (856) from warehouses
  • • Returning functional acknowledgments (997) from automation layers

Validate API

Validate without translating

The Validate API checks EDI documents for structural and semantic errors without performing translation. You get back a pass/fail status plus a detailed list of errors, each with segment references, error codes, and human-readable descriptions you can show to operators or log for compliance.

Validation response — document with errors

validation-result.json
{
  "valid": false,
  "errors": [
    {
      "segment": "BEG",
      "position": 3,
      "code": "MISSING_REQUIRED",
      "message": "Element BEG03 (Purchase Order Number) is required but missing."
    },
    {
      "segment": "PO1",
      "position": 1,
      "line": 7,
      "code": "INVALID_UOM",
      "message": "Unit of measure 'XY' is not in the allowed code list for PO103."
    }
  ],
  "transactionSet": "850",
  "standard": "X12",
  "version": "004010"
}

Use cases

  • • Pre-flight checks before sending to trading partners
  • • Quality control in EDI ingest pipelines
  • • Compliance monitoring and audit trails
  • • Debugging documents rejected by downstream systems

Coming soon

The core API is only the beginning. We're building the connective tissue that makes NeutronEDI a full EDI platform:

  • AS2, FTP, SFTP file transfer — drop-in support for legacy trading partner connections
  • EDI mailboxes — inbound/outbound queues with retry, dead-letter, and audit logs
  • Trading partner management — envelope config, per-partner rules, acknowledgment tracking

Start building in minutes.

Create an API key in the dashboard and make your first Read request in under five minutes.