The ECGrid REST API connects your application to the global B2B network — provision mailboxes, route any-to-any documents, and embed enterprise EDI directly into your platform.
ECGrid is the API-first EDI communication switch trusted by ISVs, SaaS platforms, and integration providers worldwide. The REST API exposes the same network capabilities through a clean, modern interface — JSON in, JSON out, callable from any language or platform.
A complete control plane for B2B communications — from onboarding a new trading partner to monitoring every interchange in flight.
Create, configure, and manage trading partner mailboxes programmatically. No support tickets, no waiting.
Track every interchange end-to-end. Eliminate blind spots with live status, delivery receipts, and event callbacks.
AS2, SFTP, FTPS, OFTP, X.400, ebXML, and X12.56 VAN interconnects — all behind a single API.
X12, EDIFACT, XML, JSON, and custom user-defined formats. Route between trading partners without format constraints.
Brand the experience as your own. Integrate provisioning, monitoring, and operations directly into your platform UI.
Define automated workflows that trigger on document arrival, error conditions, or trading partner events.
Architecture, capabilities, customer outcomes, and why ISVs build on ECGrid — all on the platform site.
Visit ECGrid.com →Hit GET /v2/users/me to retrieve the account info tied to your API key — a quick way to confirm credentials are working. Replace YOUR_API_KEY with your token.
curl https://rest.ecgrid.io/v2/users/me \ -H "X-API-Key: YOUR_API_KEY"
using System.Net.Http;
using var http = new HttpClient();
http.DefaultRequestHeaders.Add("X-API-Key", "YOUR_API_KEY");
var response = await http.GetAsync("https://rest.ecgrid.io/v2/users/me");
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient http = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://rest.ecgrid.io/v2/users/me"))
.header("X-API-Key", "YOUR_API_KEY")
.GET()
.build();
HttpResponse<String> response =
http.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());const response = await fetch("https://rest.ecgrid.io/v2/users/me", {
headers: { "X-API-Key": "YOUR_API_KEY" }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const body = await response.json();
console.log(body);type User = {
// Match the /users/me schema in Swagger UI
[key: string]: unknown;
};
const response = await fetch("https://rest.ecgrid.io/v2/users/me", {
headers: { "X-API-Key": "YOUR_API_KEY" }
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const user: User = await response.json();
console.log(user);import requests
response = requests.get(
"https://rest.ecgrid.io/v2/users/me",
headers={"X-API-Key": "YOUR_API_KEY"}
)
response.raise_for_status()
print(response.json())<?php
$ch = curl_init("https://rest.ecgrid.io/v2/users/me");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"X-API-Key: YOUR_API_KEY"
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status !== 200) {
throw new Exception("HTTP $status");
}
$user = json_decode($response, true);
print_r($user);package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("GET", "https://rest.ecgrid.io/v2/users/me", nil)
req.Header.Set("X-API-Key", "YOUR_API_KEY")
resp, err := http.DefaultClient.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}Bearer tokens are also supported — use Authorization: Bearer <token> after authenticating via POST /v2/auth/login.
Pick your path — live API reference, advanced control, or the full platform site.