Skip to main content

search-transactions

Search EDI transactions the way the Customer Portal Transactions page does — one call covers direction, type (interchange envelopes or file parcels), a date window, ECGrid ID or qualifier+EDI-ID filters, and live box views for blocked, pending, no-route, pending-download, and delivery-error traffic.

ℹ️ Interactive UI Component: This tool renders a visual widget in Claude Desktop and Claude.ai alongside the AI's response.

Tool Name

connectivity_transaction_search-transactions

Auth Level Required

Any (scoped to caller's APIKey)

Parameters

ParameterTypeRequiredDescription
request.typestringYesTransaction kind: Interchange (X12/EDIFACT envelopes) or File (parcels). One kind per query.
request.directionstringYesFlow direction from the mailbox's perspective: Inbound, Outbound, or Both (merges the two legs).
request.networkIdinteger | nullNoECGrid network ID scoping the query (>= 1). Defaults to the caller's own network resolved from the API-key session. Example: 7.
request.mailboxIdinteger | nullNoECGrid mailbox ID scoping the query. Defaults to -1 = ALL mailboxes in the network. 0 = the network root mailbox. Example: 142.
request.beginDatestring | nullNoInclusive start of the search window, ISO 8601. Defaults to one day before endDate. Interpreted using timeZoneId or utcOffsetMinutes if supplied, else UTC. Example: 2026-07-01T00:00:00Z.
request.endDatestring | nullNoInclusive end of the search window, ISO 8601. Defaults to the current UTC time (omitting both fields searches the most recent 24 hours). Example: 2026-07-02T23:59:59Z.
request.myEcgridIdinteger | nullNoCaller-side ECGrid ID filter (numeric primary key). Omit or pass -1 for any. Example: 5040122.
request.partnerEcgridIdinteger | nullNoPartner-side ECGrid ID filter (numeric primary key). Omit or pass -1 for any. Example: 6928311.
request.myQualifierstring | nullNoCaller-side EDI qualifier (ISA05/ISA07, e.g. ZZ). Supply with myEdiId as an alternative to myEcgridId. Max 4 chars.
request.myEdiIdstring | nullNoCaller-side wire EDI identifier (ISA06/ISA08). Supply with myQualifier; mutually exclusive with myEcgridId. Max 35 chars.
request.partnerQualifierstring | nullNoPartner-side EDI qualifier. Supply with partnerEdiId as an alternative to partnerEcgridId. Max 4 chars.
request.partnerEdiIdstring | nullNoPartner-side wire EDI identifier. Supply with partnerQualifier; mutually exclusive with partnerEcgridId. Max 35 chars.
request.viewstringNoWhich transactions view to search. Archive (default) = historical portal-parity search. Interchange views: Blocked (held), Pending (in-flight/delayed), NoRoute (outbound without a route). Parcel views: PendingDownload (File + Inbound), DeliveryError (File + Outbound). Invalid view/type/direction combinations return VALIDATION_ERROR.
request.statusGroupstringNoClient-side status filter applied within the returned page: All (default), ActiveErrors, or Complete. Leg totals stay UNFILTERED.
request.interchangeControlIdstring | nullNoInterchange control ID (ISA13) filter. Only valid with type = Interchange. Max 128 chars.
request.mailbagControlIdstring | nullNoMailbag control ID filter. Only valid with type = File. Max 128 chars.
request.timeZoneIdstring | nullNoIANA/Windows time zone ID for the dates (e.g. Asia/Bangkok). Mutually exclusive with utcOffsetMinutes. Max 64 chars.
request.utcOffsetMinutesinteger | nullNoUTC offset in minutes (e.g. 420 for UTC+7). Range -840..840. Mutually exclusive with timeZoneId.
request.pageNointeger | nullNo1-based page number applied to each directional leg. Defaults to 1.
request.recordsPerPageinteger | nullNoRecords per page per leg, 1..1000. Defaults to 100. Direction Both can return up to twice this.

📝 View-specific pagination behaviour

The Blocked, Pending, and NoRoute interchange views scan the entire date window — pageNo and recordsPerPage are ignored. An over-large window returns partial: true; narrow the date range and retry. The PendingDownload and DeliveryError parcel views query live state; dates and paging are also ignored for those views.

Response

Returns the applied filters (re-send with an adjusted pageNo to paginate), a rows array of matching transactions, per-leg totals, and a totalRecords count. An empty rows array means no matches — this is a successful outcome, not an error.

{
"data": {
"filters": {
"type": "Interchange",
"direction": "Inbound",
"networkId": 7,
"mailboxId": -1,
"beginDate": "2026-07-05T00:00:00Z",
"endDate": "2026-07-06T00:00:00Z",
"view": "Archive",
"statusGroup": "All",
"pageNo": 1,
"recordsPerPage": 100
},
"rows": [
{
"transactionId": 123456789,
"type": "interchange",
"direction": "inbound",
"transactionDateTime": "2026-07-05T14:22:10Z",
"processDate": "2026-07-05T14:22:11Z",
"statusDate": "2026-07-05T14:22:12Z",
"statusCode": "4000",
"statusLabel": "Complete: CLOSED",
"controlNumber": "000000042",
"standard": "X12",
"documentType": "X12",
"fileName": "",
"bytes": 2048,
"parcelIds": [987654321],
"parcelCount": 1,
"from": {
"networkId": 8,
"networkName": "Partner VAN",
"mailboxId": 500,
"mailboxName": "",
"ecgridId": 6928311,
"qualifier": "ZZ",
"ediId": "PARTNERACME",
"description": "Acme Hardware"
},
"to": {
"networkId": 7,
"networkName": "ECGrid Production",
"mailboxId": 142,
"mailboxName": "acme-prod@example.com",
"ecgridId": 5040122,
"qualifier": "ZZ",
"ediId": "MYCOMPANY",
"description": "My Company"
}
}
],
"count": 1,
"totalInbound": 1,
"totalOutbound": 0,
"totalRecords": 1
},
"partial": false,
"warnings": null
}

Response Fields

FieldTypeDescription
data.filtersobjectThe sanitised filters actually applied. Re-send with an adjusted pageNo to fetch the next page of the same search.
data.rowsarrayMatching transaction rows. Direction Both merges both legs sorted by transactionDateTime descending. Empty array means no matches — not an error.
data.rows[].transactionIdintegerECGrid primary key: interchange ID when type is interchange, parcel ID when type is file. Chain get-interchange-by-id or get-parcel-by-id for full detail.
data.rows[].typestringRow kind: interchange or file. Matches the request type.
data.rows[].directionstringFlow direction of this row: inbound or outbound.
data.rows[].transactionDateTimestringUTC date/time of the transaction (interchange envelope date or parcel entry date).
data.rows[].processDatestring | nullUTC timestamp when ECGrid processed the interchange. Null on file rows.
data.rows[].statusDatestringUTC timestamp of the row's current status.
data.rows[].statusCodestringRaw status code: numeric interchange status (e.g. 4000) or M-prefixed parcel status (e.g. M2400). Empty if not set.
data.rows[].statusLabelstringHuman-readable status message. Empty if not set.
data.rows[].controlNumberstringInterchange control ID (ISA13) on interchange rows, or mailbag control ID on file rows. Empty if not set.
data.rows[].standardstringEDI standard (X12, EDIFACT, …). Empty on file rows.
data.rows[].documentTypestringDocument type of the interchange (e.g. X12). Empty on file rows.
data.rows[].fileNamestringOriginal file name of the parcel payload. Empty on interchange rows.
data.rows[].bytesintegerPayload size in bytes.
data.rows[].parcelIdsarrayIDs of parcels carrying this interchange. Empty array on file rows.
data.rows[].parcelCountintegerNumber of entries in parcelIds.
data.rows[].fromobjectSender-side routing and EDI identity.
data.rows[].from.networkIdintegerECGrid network ID of the sender.
data.rows[].from.networkNamestringHuman-readable network name. Empty if not set.
data.rows[].from.mailboxIdintegerECGrid mailbox ID of the sender.
data.rows[].from.mailboxNamestringMailbox name. Populated on file rows only; empty on interchange rows.
data.rows[].from.ecgridIdintegerECGrid ID of the sender's trading partner. 0 if not resolved.
data.rows[].from.qualifierstringEDI partner-ID qualifier (ISA05/ISA07). Empty if not resolved.
data.rows[].from.ediIdstringWire-level EDI identifier (ISA06/ISA08). Empty if not resolved.
data.rows[].from.descriptionstringFree-form label for this trading partner. Empty if not resolved.
data.rows[].toobjectRecipient-side routing and EDI identity — same shape as from.
data.countintegerNumber of rows in the rows array on this page.
data.totalInboundintegerTotal matching inbound records across all pages. 0 when the inbound leg was not queried.
data.totalOutboundintegerTotal matching outbound records across all pages. 0 when the outbound leg was not queried.
data.totalRecordsintegerTotal matching records across all queried legs (sum of leg totals).
partialbooleantrue when the result is truncated (e.g. an over-large scan window). Narrow the date range and retry.
warningsarray | nullPlain-language warnings about the search result. Null when none.

Example Call

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "connectivity_transaction_search-transactions",
"arguments": {
"request": {
"type": "Interchange",
"direction": "Inbound",
"mailboxId": 142,
"beginDate": "2026-07-05T00:00:00Z",
"endDate": "2026-07-06T00:00:00Z"
}
}
}
}

Example Prompts

  • Show me all inbound interchanges from the last 24 hours
  • Are there any transactions currently blocked?
  • Show pending inbound files for mailbox 142
  • Find all delivery errors from yesterday

See Also