Is there an official npm or PyPI package?
Use the REST API directly with your HTTP client today. The @signaledi/sdk package mirrors /api/v1 endpoints — see the API reference for installation.
SDKs
Why teams evaluate SignalEDI
Illustrative example based on representative SignalEDI usage — not a named customer endorsement.
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.
What is SignalEDI?
Fastest way to test your API key and payload shape from any terminal.
curl -X POST https://signaledi.com/api/v1/documents/outbound \
-H "Authorization: Bearer $SIGNALEDI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"partnerId": "your-partner-id",
"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
}
]
}
}'Use fetch or your HTTP client in serverless functions, Express, or Next.js routes.
const res = await fetch("https://signaledi.com/api/v1/documents/outbound", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SIGNALEDI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
partnerId: "your-partner-id",
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 }],
},
}),
});
const data = await res.json(); // { ok: true, data: { documentId, status: "queued" } }Works with requests, httpx, or any HTTP library — ideal for data pipelines and Django/FastAPI backends.
import os
import requests
r = requests.post(
"https://signaledi.com/api/v1/documents/outbound",
headers={"Authorization": f"Bearer {os.environ['SIGNALEDI_API_KEY']}"},
json={
"partnerId": "your-partner-id",
"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}],
},
},
)
print(r.json())Standard library net/http — compile a small binary for high-throughput outbound workers.
package main
import (
"net/http"
"os"
"strings"
)
func main() {
body := strings.NewReader(`{"partnerId":"your-partner-id","documentTypeCode":"850","payload":{"purchaseOrderNumber":"PO-1042"}}`)
req, _ := http.NewRequest("POST", "https://signaledi.com/api/v1/documents/outbound", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SIGNALEDI_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
}Use the REST API directly with your HTTP client today. The @signaledi/sdk package mirrors /api/v1 endpoints — see the API reference for installation.
Authorization: Bearer with your SIGNALEDI_API_KEY environment variable.
All samples POST an 850 purchase order to /api/v1/documents/outbound — swap documentTypeCode and payload for 856, 810, or other types.
Open the quickstart for the end-to-end path, or the API reference for every endpoint.
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.