Skip to main content

Send your first EDI document in 10 minutes

Get a SignalEDI API key, POST a JSON 850 purchase order, see validation and X12 conversion, and receive partner acknowledgements via webhook — your side ready for partner onboarding in days, not weeks.

1. Get your API key

From the developer console, create a platform-scoped API key. Export it as SIGNALEDI_API_KEY — never commit keys to git. See /docs#authentication for Bearer header details.

  • Platform scope unlocks /api/v1/* endpoints
  • Rotate keys on a regular cadence

2. Send a JSON 850 purchase order

POST to the outbound documents endpoint with your partnerId and documentTypeCode. SignalEDI validates the payload, maps it to partner-specific X12, and queues routing.

  • Required: partnerId, documentTypeCode, payload
  • Validation errors return 400 with fieldErrors
curl -X POST https://api.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
      }
    ]
  }
}'

3. Expected response

A successful enqueue returns HTTP 202 with a documentId you can track in the dashboard or via webhooks.

{
  "ok": true,
  "data": {
    "documentId": "doc_01HXYZ…",
    "status": "queued"
  }
}

4. Node example

Same request in JavaScript — ideal for serverless or Next.js route handlers.

const res = await fetch("https://api.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" } }

5. Receive the 997 via webhook

Register an HTTPS webhook URL. When the partner returns a functional acknowledgement, SignalEDI emits document.partner_ack with normalized status.

  • Verify X-SignalEDI-Signature on every delivery
  • Use X-SignalEDI-Delivery-ID for idempotent handlers

6. Go-live reality check

Your SignalEDI side can reach partner-ready setup in days, not weeks. Trading partner certification still follows their calendar — plan for weeks on partner timelines.

Common questions

Built for SMB teams that need API-first EDI, healthcare diligence, and predictable pricing.

SignalEDI keeps the public promise consistent across every route: real-time processing, transparent monthly plans, no per-document fees, QuickBooks-friendly handoffs, and core healthcare X12 workflows on paid plans.

HIPAA-aware handlingBAA path documentedSecure API + webhooksNo per-document fees

Operations teams

A supplier operations team can see partner setup, validation, exceptions, and QuickBooks handoff in one workspace instead of chasing spreadsheets.

Healthcare billing

837, 835, and 270/271 workflows are explained in plain English, with HIPAA-aware handling and a documented BAA review path for diligence.

Developer teams

JSON/CSV in and X12 out, with API docs, webhooks, real-time status, and validation responses that make EDI feel like modern infrastructure.

Preview case studies

© 2026 CCCM Consulting LLC. All rights reserved.