Skip to main content

Payload reference: JSON, X12, EDIFACT

Three accepted shapes — typed JSON, raw X12, raw EDIFACT — all proven in Lab with the same runner. Keep the route and payload unchanged as you promote; only the environment identifier and lane credential change.

Typed JSON (documentTypeCode 850)

Send a JSON object as payload with documentTypeCode (e.g. 850) and environment (LAB, CERTIFICATION, or PRODUCTION). The Lab default:

{
  "purchaseOrderNumber": "PO-1042",
  "orderDate": "2026-09-24",
  "buyer": { "id": "BUY-01", "name": "RetailMart Inc" },
  "shipTo": { "id": "DC-01", "name": "RetailMart DC 01" },
  "lines": [{ "lineNumber": 1, "sku": "SKU-100", "quantity": 24, "unitPrice": 12.5 }]
}

Always send Idempotency-Key (e.g. po-1042-lab-1) so retries never duplicate documents, with Authorization: Bearer sk_lab_… (or the sk_cert_ / sk_live_ key for its lane).

Raw X12 (message type 850)

Send the exact interchange as content. The envelope must be complete — ISA/GS/ST … SE/GE/IEA — with matching control numbers and a correct ST/SE segment count (Lab's shipped 850 default is the reference shape). A count mismatch returns a 422 naming the error: fix the envelope and re-run.

Raw EDIFACT (message type ORDERS)

Send the exact interchange as content with UNB/UNH … UNT/UNZ framing and correct segment counts. ORDERS requires at least two NAD parties (buyer + ship-to, as in Lab's shipped default). A parsed-but-unmapped interchange returns honest raw-only Lab evidence (structure checks + CONTRL), not a semantic pass.

Endpoints

POST /api/v1/documents/outbound (typed or raw), POST /api/v1/documents/inbound (partner-to-customer EDI), POST /api/v1/documents/batch (up to 100 documents, per-item results), POST /api/v1/parse and POST /api/v1/validate (raw X12 diagnostics). Reads: GET /api/v1/documents/:documentId, GET /api/v1/document-types (recognized X12/EDIFACT types and honest raw/typed capabilities), GET /api/v1/transactions.

Start every integration with the API quickstart and prove mappings with the mapping guide.

Still have questions?

Email support@signaledi.com or open a ticket from Help & Support in the dashboard.

Contact support

© 2026 SignalEDI Inc. All rights reserved.