Skip to main content

SOAP API Overview

The ECGridOS SOAP API (v4.1) is a established API in maintenance mode — it receives critical security fixes only and will not gain new features.

:::caution Established API The SOAP API is in maintenance mode. For new integrations, use the REST API instead. :::

Service Endpoint

ResourceURL
Servicehttps://os.ecgrid.io/v4.1/prod/ECGridOS.asmx
WSDLhttps://os.ecgrid.io/v4.1/prod/ECGridOS.asmx?WSDL
Namespacehttp://www.ecgridos.net/

Client Options

Choose a client strategy based on your project context.

LibraryUse Case
dotnet-svcutilRecommended for new .NET 10 projects. Generates a typed proxy from the WSDL.
CoreWCFMigrating existing WCF .NET Framework code to .NET 10.
Manual HttpClientMinimal dependencies, full control over the raw SOAP envelope.

Generate a Typed Proxy with dotnet-svcutil

dotnet tool install --global dotnet-svcutil
dotnet-svcutil https://os.ecgrid.io/v4.1/prod/ECGridOS.asmx?WSDL

This generates Reference.cs containing the ECGridOSClient class and all data contract types. Add the generated file to your project and reference the ServiceReference1 namespace (or rename as needed).

Authentication

The SOAP API uses session-based authentication.

  1. Call Login() with your credentials — it returns a SessionID string.
  2. Pass that SessionID as the first parameter of every subsequent method call.
  3. Call Logout() when the session is no longer needed.
// .NET 10 — dotnet-svcutil generated proxy
using var client = new ECGridOSClient(binding, endpoint);

string sessionID = await client.LoginAsync(
userName, password,
"MyApp", "1.0", "My Company", "Dev Name", "dev@example.com");

// Use sessionID for all subsequent calls...

await client.LogoutAsync(sessionID);

Sessions expire automatically after a period of inactivity. Always call Logout() in a finally block to release server-side resources.

API Section Coverage

SectionMethodsNotes
Auth & Sessions6Login, Logout, WhoAmI, SessionInfo, SessionLog, Version
Networks8NetworkInfo, NetworkList, NetworkAdd, NetworkUpdate, NetworkSetStatus, NetworkGateway, NetworkVPN, NetworkStatusSummary
Mailboxes9MailboxInfo, MailboxList, MailboxAdd, MailboxConfig, MailboxDescription, MailboxDeleteOnDownload, MailboxInboxTimeout, MailboxX12Delimiters, MailboxManaged
IDs9ECGridIDInfo, TPInfo, TPList, TPAdd, TPSearch, TPMove, TPAddVAN, TPUpdateDescription, TPUpdateDataEmail
Partners7InterconnectInfo, InterconnectAdd, InterconnectListByStatus, InterconnectListByECGridID, InterconnectUpdate, InterconnectCancel, InterconnectCount, InterconnectNote
Parcels8ParcelInbox, ParcelOutbox, ParcelUpload, ParcelDownload, ParcelDownloadConfirm, ParcelInfo, ParcelNote, ParcelResend
Interchanges7InterchangeInbox, InterchangeOutbox, InterchangeInfo, InterchangeManifest, InterchangeHeaderInfo, InterchangeResend, InterchangeCancel
Callbacks7CallBackAdd, CallBackEventInfo, CallBackEventList, CallBackPendingList, CallBackFailedList, CallBackQueueInfo, CallBackTest
Carbon Copies6CarbonCopyAdd, CarbonCopyInfo, CarbonCopyList, CarbonCopyActivate, CarbonCopySuspend, CarbonCopyTerminate
Certificates5CertificateAddPublic, CertificateAddPrivate, CertificateCreatePrivate, CertificateRenewPrivate, CertificateTerminate
Comms8CommInfo, CommList, CommFind, CommAdd, CommUpdate, CommPair, CommSetPair, CommDefaultMailbox
Users10UserInfo, UserList, UserAdd, UserUpdate, UserSetAuthLevel, UserGetAPIKey, UserPassword, UserReset, UserSuspend, UserTerminate
Keys5KeyGet, KeySet, KeyList, KeyRemove, GenerateAPIKey
Reports5ReportInstantStats, ReportInterchangeStats, ReportMailboxStats, ReportTrafficStats, ReportMonthly

For New Integrations

Use the REST API, which offers:

  • API Key and JWT Bearer authentication — no session management required
  • JSON request/response bodies
  • Standard HTTP status codes
  • 121 endpoints across 16 resource groups (v2.6)

See the REST vs SOAP guide for a full comparison.