Skip to main content

EDI API SDKs and code examples

Send an EDI 850 purchase order with cURL, Node.js, Python, or Go — same POST /api/v1/documents/outbound contract across every language.
cURLNode.jsPythonGo

Verify before you start

Healthcare control readinessAudit trailsSOC 2 readinessService policy

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.

Definition

SignalEDI
SignalEDI is an AI-first EDI and API integration platform for small and mid-sized businesses that need fast, simple, affordable partner-mandate connectivity. This SDKs page collects language examples for SignalEDI’s EDI API so engineering teams can call outbound document endpoints without inventing request shapes.

Key takeaways

  • Language examples for calling SignalEDI’s EDI API with real request shapes.
  • Each sample pairs with the quickstart and full API reference.
  • Pick a language, copy the sample, then validate outbound traffic in trial.

cURL

Fastest way to test your API key and payload shape from any terminal.

curl -X POST https://api.signaledi.com/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
      }
    ]
  }
}'

Node.js

Use fetch or your HTTP client in serverless functions, Express, or Next.js routes.

const res = await fetch("https://api.signaledi.com/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, documentId, status: "queued" }

Python

Works with requests, httpx, or any HTTP library — ideal for data pipelines and Django/FastAPI backends.

import os
import requests

r = requests.post(
    "https://api.signaledi.com/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())

Go

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","lines":[{"sku":"SKU-100","quantity":24,"unitPrice":12.5}]}}`)
  req, _ := http.NewRequest("POST", "https://api.signaledi.com/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()
}

SDKs FAQ

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.

What auth header do all examples use?

Authorization: Bearer with your SIGNALEDI_API_KEY environment variable.

Which document type do the samples send?

All samples POST an 850 purchase order to /api/v1/documents/outbound. The API also renders retail 810, 855, and 856 plus logistics 204, 210, 211, 212, 214, 753, 754, 858, 940, 943, 944, 945, 947, and 990 payloads. Each type has its own required fields, and partner implementation guides may add more.

Copy a sample, then go live in trial

Open the quickstart for the end-to-end path, or the API reference for every endpoint.

© 2026 SignalEDI Inc. All rights reserved.