What is an EDI API?
An EDI API is a web interface for exchanging EDI documents. Your application sends and receives JSON over HTTPS while the platform parses, validates and delivers standard EDI such as X12 to your trading partners.
Developers
Verify before you start
An EDI API is a web interface to EDI. Instead of building X12 files by hand and managing connections to each partner, your application sends and receives JSON over HTTPS. The API parses incoming EDI into structured data, validates documents against the standard, and hands outbound documents to the route a trading partner requires.
An API does not remove the partner's requirements. Many retailers and payers still mandate EDI documents and specific connections such as AS2 or SFTP. The API is how your systems talk to EDI; for the concept, see the EDI API guide. To compare EDI with direct partner APIs, read EDI vs API.
| Base URL | https://api.signaledi.com/v1 |
| Format | JSON over HTTPS; raw X12 goes inside a JSON field |
| Authentication | Authorization: Bearer <API key> |
| Key lanes | sk_lab_ (Lab), sk_cert_ (Certification), sk_live_ (Production); a key can address only its own lane |
| Rate limit | 120 requests per minute per API key on /parse and /validate |
| Free tier | 5,000 calls per month, no credit card |
| After the free tier | $0.0015 per call (one call = one parse or one validate request) |
Every secured request carries your key as a Bearer token. Create a key through the developer sign-up (free tier, no card) and keep it in an environment variable such as SIGNALEDI_API_KEY. Never put a key in client-side code or a public repository.
Lab keys validate in your own account without contacting a partner. Certification keys run the same request against the real partner route. Production keys require the connection to be promoted first. Because each key addresses a single lane, a test key cannot send live documents by mistake.
This sends an X12 850 purchase order interchange (shortened here) to /v1/parse and gets structured JSON back.
curl https://api.signaledi.com/v1/parse \
-H "Authorization: Bearer $SIGNALEDI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"ISA*...complete X12 interchange...~IEA*...~"}'
The response (abridged) has this shape:
{
"ok": true,
"validation": { "sourceFormat": "X12", "transactionSet": "850", "valid": true, "issues": [] },
"json": { "...": "structured parser output" },
"envelope": { "...": "interchange details" }
}
/v1/validate takes the same {"content": "..."} body and returns diagnostics only. A missing or empty content returns HTTP 400 with fieldErrors; a body over the size cap returns 413; going over the rate limit returns 429 with a Retry-After header.
To send a document, post typed JSON (or exact raw EDI) to /v1/documents/outbound. An Idempotency-Key header (8 to 128 characters) makes retries safe: the same key with the same body replays, the same key with a different body returns 409.
curl -X POST https://api.signaledi.com/v1/documents/outbound \
-H "Authorization: Bearer $SIGNALEDI_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d '{
"environment": "LAB",
"documentTypeCode": "850",
"payload": {
"purchaseOrderNumber": "PO-1042",
"shipTo": { "id": "DC-01", "name": "RetailMart DC 01" },
"lines": [{ "lineNumber": 1, "sku": "SKU-100", "quantity": 24, "unitPrice": 12.5 }]
}
}'
In Lab, a successful call returns HTTP 202:
{
"ok": true,
"documentId": "doc_01HXYZ…",
"status": "validated",
"environment": "LAB",
"partnerContacted": false
}
Certification and Production calls also name the trading partner (partnerId) and report admission, routing, transport and acknowledgement states on the document receipt.
The documented endpoints (see the full API reference):
| Method | Endpoint | What it does |
|---|---|---|
| POST | /v1/documents/outbound |
Send typed JSON or exact raw X12/EDIFACT through an authorized account integration |
| POST | /v1/documents/inbound |
Submit raw partner-to-customer EDI |
| POST | /v1/documents/batch |
Submit up to 100 outbound documents with per-item results |
| GET | /v1/documents/{documentId} |
Read the multi-stage document receipt |
| GET | /v1/documents/{documentId}/payload |
Pull raw, structured, typed or mapped payload views |
| GET | /v1/document-types |
Discover supported document types and capabilities (public registry) |
| GET | /v1/transactions |
List your recent transactions, newest first |
| GET | /v1/transactions/{id} |
Get one transaction with full status |
| POST | /v1/parse |
Parse a raw X12 interchange into structured JSON plus diagnostics |
| POST | /v1/validate |
Validate a raw X12 interchange against envelope rules |
Typical ceilings per API key: 120 requests a minute on parse, validate, outbound, inbound and document reads, and 60 a minute on batch. The document-types registry allows 300 a minute per client IP.
When a trading partner returns a functional acknowledgement (997, 999 or TA1), SignalEDI delivers a signed webhook. In Certification and Production that is document.acknowledgement_received.v1; a terminal failure sends document.delivery_failed.v1. Verify the X-SignalEDI-Signature header (an HMAC-SHA256 over the timestamp and raw body) and use X-SignalEDI-Delivery-ID to make your handler idempotent. The signed webhooks guide has Node and Python code, and the 997/999 guide covers reading the result.
Developer API usage is metered separately from the core EDI plans.
| Plan | Price | Includes |
|---|---|---|
| Free | $0 | 5,000 calls a month, no credit card; platform API key and playground; MCP server and TypeScript SDK; signed webhooks |
| Pay as you go | $0.0015 per call | After your first 5,000 calls each month; usage-based and billed through Stripe; no seats |
| Scale | Custom | Committed-volume rates and priority support |
A billable call is one parse or one validate request. For example, 20,000 parse and validate calls in a month is 15,000 billable calls at $0.0015, or $22.50. Full terms are on developer API pricing. Business EDI subscriptions for trading partners (Seasonal, Starter, Growth, Enterprise) are on the pricing page.
Try calls without writing code in the API playground. The SDKs page lists language samples, and SignalEDI publishes an MCP server (@signaledi/mcp-server) for compatible agent tools. The public MCP release is for synthetic evaluation only. The developer hub links all of it.
/v1/parse with the sample above.sk_cert_ key and your partner binding, and watch for the partner's acknowledgement webhook.The quickstart and go-live checklist walk through each step. Partners control their own testing and approval calendars, so plan around them.
Evaluate without a sales call
Most buyers are not ready to buy on the first visit. Start with a free tool or requirement check — then trial when you are ready.
An EDI API is a web interface for exchanging EDI documents. Your application sends and receives JSON over HTTPS while the platform parses, validates and delivers standard EDI such as X12 to your trading partners.
The base URL is https://api.signaledi.com/v1. Parse and validate are at /v1/parse and /v1/validate, and outbound documents go to /v1/documents/outbound.
Send your API key as a Bearer token in the Authorization header. Keys are issued per lane: sk_lab_ for Lab, sk_cert_ for Certification and sk_live_ for Production, and a key can address only its own lane.
The free tier includes 5,000 calls a month with no credit card. After that each call is $0.0015, where one call is one parse or one validate request. Committed-volume pricing is available on the Scale plan.
No. An API makes EDI easier for your software to use, but many trading partners still require EDI documents and connections such as AS2 or SFTP. The platform keeps your side API-first while the partner receives the format it requires.
Yes. A Lab key validates your payload and mapping in your own account without contacting a partner. Move to Certification when you are ready to test the real partner route.
Parse and validate allow 120 requests a minute per API key, outbound and inbound documents allow 120, and batch allows 60 with up to 100 documents per call. A 429 response includes a Retry-After header.
Create a free developer key, no credit card, and run a parse or validate request in the playground or with curl.
Explore SignalEDI
Pricing, checkout, solutions, support, partner requirements, and trust artifacts stay linked so buyers do not dead-end on a single page.
© 2026 SignalEDI Inc. All rights reserved.