Unified public documentation for the ECGrid B2B EDI platform — covering the ECGrid REST API (v2.6, active) and the ECGridOS SOAP API (v4.1, established), as well as the Transformation API and the Data Sync and Catalog API.
ECGrid is the connectivity, transformation, and content delivery backbone that builders, integrators, and platforms rely on to connect, transact, and scale — 400,000+ trading relationships, 300+ public and private networks, and 25+ years in production. This portal covers the full programmable API surface so your team can provision, transform, deliver, and monitor across a single integration.
| API | Coverage |
|---|---|
| REST API v2.6 | Networks, Mailboxes, IDs, Partners, Parcels, Interchanges, Callbacks, Carbon Copies, Certificates, Comms, Users, Keys, Reports, Portals |
| ECGridOS SOAP API v4.1 | Same core resources as REST via the established SOAP interface |
| Transformation API | EDI mapping, translation, and simplification |
| Data Sync and Catalog API | Product data delivery and catalog management |
.NET 10 code samples for REST and SOAP integration patterns are included.
- Live site: https://api.ecgridos.io
| API | Link |
|---|---|
| REST API Swagger UI | https://rest.ecgrid.io/swagger/index.html |
| SOAP Web Service | https://os.ecgrid.io/v4.1/prod/ECGridOS.asmx |
| Transformation API Swagger UI | https://simplify.ecgrid.com/swagger/index.html |
| Data Sync and Catalog API Swagger UI | https://globalproductaccess.com/swagger/index.html |
This section covers everything a new developer needs to get set up and contributing. Read it top to bottom before touching any files.
Install these before cloning:
| Tool | Version | Purpose |
|---|---|---|
| Git | Any recent | Source control |
| Node.js | 20.x LTS | Docusaurus site build |
| npm | Included with Node | Package management |
| .NET SDK | 10.0 | C# code samples |
| Claude Code | Latest | AI-assisted development (see below) |
Verify your versions:
node --version # should be v20.x.x
npm --version
dotnet --version # should be 10.x.x
git --versionThe authoritative source repository is hosted in Azure DevOps. Clone from there:
git clone "https://lorendata-dev.visualstudio.com/ECGrid%20Developer%20Documentation%20Portal/_git/ECGrid%20Developer%20Documentation%20Portal" ecgrid-developer-portal
cd ecgrid-developer-portalYou will need to authenticate with your Loren Data Azure DevOps credentials. If you get a credentials prompt, use your @ld.com account.
This repo uses a dual push configuration. When you run git push, Git sends your commits to two remotes simultaneously:
- Azure DevOps — the primary source of truth (fetch + push)
- GitHub — push-only target that triggers the live site deployment
You can verify this with:
git remote -vExpected output:
origin https://lorendata-dev.visualstudio.com/ECGrid%20Developer%20Documentation%20Portal/_git/ECGrid%20Developer%20Documentation%20Portal (fetch)
origin https://lorendata-dev.visualstudio.com/ECGrid%20Developer%20Documentation%20Portal/_git/ECGrid%20Developer%20Documentation%20Portal (push)
origin https://github.com/LorenData/ecgrid-developer-documentation.git (push)
Why two remotes? The Docusaurus site is deployed to GitHub Pages. GitHub Actions watches the main branch on GitHub and automatically builds and publishes the site to the gh-pages branch whenever main is updated. The Azure DevOps push keeps the canonical repo in sync.
If you cloned fresh and only see one push remote, ask Greg to send you the setup command. Do not attempt to add remotes without confirming the URLs.
git pull origin mainThis fetches and merges from Azure DevOps (the fetch remote). Always pull before starting new work.
git push origin mainThis pushes to both Azure DevOps and GitHub in one command. The GitHub push immediately triggers the CI/CD deploy pipeline. Only push when your changes are complete and the site builds locally without errors.
Important: Per Loren Data AI Use Policy §7.2, do not commit or push directly from an AI session. Review all AI-generated changes yourself, then commit and push manually.
Install dependencies (run once after cloning, and again after pulling if package-lock.json changed):
cd website
npm installStart the local preview server:
npm run startThe site opens at http://localhost:3000. Changes to Markdown files hot-reload automatically. Press Ctrl+C to stop.
Verify a production build before pushing (catches config errors that the dev server misses):
npm run buildYou push to main
│
├─► Azure DevOps (source of truth, team access)
│
└─► GitHub (LorenData/ecgrid-developer-documentation)
│
└─► GitHub Actions (.github/workflows/deploy.yml)
│
└─► Builds Docusaurus → publishes to gh-pages branch
│
└─► Live site at https://api.ecgridos.io
The deploy pipeline runs automatically. You do not manually upload or publish anything. Monitor the build badge at the top of this README or check the Actions tab on GitHub.
This project uses Claude Code for AI-assisted documentation generation. The CLAUDE.md file at the repo root is the instruction file that Claude Code reads at the start of every session.
What CLAUDE.md contains:
- All page templates (REST endpoint, SOAP method, Common Operations)
- Site navigation structure and sidebar positions
- Coding conventions for C# samples
- AI attribution requirements (Loren Data AI Use Policy §8.1–§8.2)
- Live API source URLs that Claude always fetches fresh
- What to avoid (deprecated patterns, hardcoded credentials, etc.)
How to use Claude Code on this project:
- Open a terminal in the repo root
- Run
claudeto start a session — it automatically readsCLAUDE.md - Ask Claude to generate, update, or review documentation
- Always review the output before committing — Claude is a tool, not an approver
Attribution: Every file that Claude materially modifies gets an AI Attribution comment block at the top (format is in CLAUDE.md). This is required by Loren Data AI Use Policy §8.2. Do not remove or skip these.
ecgrid-developer-portal/
├── CLAUDE.md ← Claude Code instructions (read this before using Claude)
├── README.md ← This file
├── .github/
│ └── workflows/
│ └── deploy.yml ← GitHub Actions — builds and deploys site on push to main
├── website/ ← Docusaurus 3 site root
│ ├── docs/ ← All Markdown content (~244 files)
│ │ ├── intro.md
│ │ ├── getting-started/
│ │ ├── guides/
│ │ ├── rest-api/
│ │ ├── soap-api/
│ │ ├── common-operations/
│ │ ├── appendix/
│ │ ├── code-samples/
│ │ └── changelog/
│ ├── static/ ← Images and static assets
│ ├── src/css/custom.css ← Brand color overrides
│ ├── docusaurus.config.ts ← Site config (TypeScript)
│ └── sidebars.ts ← Sidebar structure (TypeScript)
└── samples/ ← .NET 10 C# code samples
├── README.md
├── rest/
│ ├── ECGrid-REST-dotnet10-Console/
│ ├── ECGrid-REST-dotnet10-AspNetCore-MVC/
│ ├── ECGrid-REST-dotnet10-WorkerService/
│ └── ECGrid-REST-dotnet10-MinimalAPI/
└── soap/
├── ECGrid-SOAP-dotnet10-Console-HttpClient/
└── ECGrid-SOAP-dotnet10-Console-SvcUtil/
Add a new documentation page:
- Create the
.mdfile in the correctdocs/subfolder (follow the nav structure inCLAUDE.md) - Add a
_category_.jsonin the folder if it doesn't exist - Run
npm run startand verify it appears in the sidebar - Run
npm run buildto confirm no build errors - Commit and push
Update an existing page:
- Edit the
.mdfile directly - Preview with
npm run start - Commit and push
Add or update a C# sample:
- Work inside the relevant project under
samples/ - Follow the coding conventions in
CLAUDE.md— no hardcoded keys, useIHttpClientFactory,System.Text.Jsononly - The samples are referenced from the docs but are not automatically published — just keep them in the repo
| Branch | Purpose |
|---|---|
main |
Active development — all changes go here |
gh-pages |
Auto-generated by GitHub Actions — never edit manually |
There are no feature branches at this time. All work happens on main. If that changes, this section will be updated.
- Site not building? Run
npm run buildlocally first and read the error output — it usually identifies the exact file and line. - Push rejected? Make sure you pulled first (
git pull origin main), then push again. - Claude generating wrong output? Check that
CLAUDE.mdis up to date and that you're running Claude Code from the repo root. - Questions about the API? Start at the live Swagger UI links in the Live API References section above.
- Azure DevOps access issues? Contact Greg Kolinski (gkolinski@ld.com).
Proprietary — Copyright © Loren Data Corp. All rights reserved.
This repository and its contents are not licensed for public redistribution or reuse without written permission from Loren Data Corp.