Submitting Outbound EDI
When sending EDI to a trading partner, your system submits JSON data to this endpoint. Tediware converts it to EDI using the partner’s mapping and implementation, then delivers the EDI document to the partner’s connection. Processing is asynchronous – the API returns immediately with a trace identifier and control numbers. When delivery completes, your outbound webhook is called; if an error occurs, your error webhook is called instead. See the Overview page for the full outbound data flow.
Endpoint
POST /platform/partners/:key/ts/:code
:key– the partner’s unique key (e.g.,ACME). Visible on the partner detail page and set when the partner is created.:code– the X12 transaction set code (e.g.,810,850,856). Must match an outbound transaction setting configured on the partner.
Request Body
The request body is JSON with the following fields:
contents(required) – the transaction data to convert. The structure depends on your mapping configuration for this partner and transaction set.filename(optional) – a custom filename for the generated EDI file. Must contain only letters, numbers, underscores, periods, and dashes, with a maximum length of 128 characters. If omitted, a random filename is generated.overrides(optional) – envelope identifier overrides. Use these to override the sender and receiver identifiers that would normally come from your partner’s envelope configuration:interchangeSenderId– override the ISA sender IDinterchangeSenderQualifier– override the ISA sender qualifierinterchangeReceiverId– override the ISA receiver IDinterchangeReceiverQualifier– override the ISA receiver qualifier
Success Response
On success, the API returns 200 with the control numbers assigned to the transmission and a trace identifier:
{
"message": "Processing queued",
"interchangeControlNumber": 1042,
"groupControlNumber": 1043,
"traceGuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}
interchangeControlNumber– the ISA control number assigned to this interchangegroupControlNumber– the GS control number assigned to this functional grouptraceGuid– a unique identifier that links all processing results for this submission. Use it to query results or look up the trace in the application UI.
Example Request
curl -X POST "https://tediware.com/platform/partners/ACME/ts/810" \
-H "Authorization: Key your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"contents": {
"invoiceNumber": "INV-2026-001",
"invoiceDate": "2026-03-30",
"totalAmount": 1500.00,
"lineItems": [
{
"quantity": 10,
"unitPrice": 150.00,
"description": "Widget A"
}
]
},
"filename": "invoice-001.edi"
}'
Error Responses
| Status | Code | Cause |
|--------|---------------------|--------------------------------------------------------------------|
| 400 | missing_parameter | The contents field is missing or null |
| 400 | invalid_filename | The filename contains invalid characters or exceeds 128 characters |
| 400 | invalid_envelope | The envelope configuration is incomplete or invalid |
| 401 | unauthorized | The API key is missing or invalid |
| 404 | not_found | The partner key does not match any partner in your organization |
| 404 | not_found | No active outbound flow exists for this partner |
| 404 | not_found | The transaction set code is not configured for this partner |
| 422 | configuration_error | Multiple matching nodes found in the flow -- check flow configuration |