Skip to main content

check-ftp-access

Diagnose why an FTP or SFTP connection to ECGrid is being refused by reading the FTP setup keys on a mailbox or network and, when an FTP login name is configured, the status of the ECGrid user behind it. Use when the caller asks "why is this FTP/SFTP login blocked", "is the FTP account active", "is this IP allowed to connect", or "is the FTP user locked out / over its session limit".

networkId is required. mailboxId is optional — when supplied, keys are read from the mailbox; otherwise from the network. ip is optional — when supplied, an additional section reports whether that address matches the FTP access allowlist. ftpConfigured: false means the object exists but has no FTP setup; a missing object surfaces as NOT_FOUND.

Tool Name​

connectivity_comm_check-ftp-access

Auth Level Required​

Any (scoped to caller's APIKey)

Parameters​

ParameterTypeRequiredDescription
request.networkIdintegerYesThe numeric ECGrid network ID that owns the FTP setup. Positive integer >= 1. Example: 7. When mailboxId is omitted, FTP keys are read at the network level.
request.mailboxIdinteger | nullNoOptional mailbox ID whose FTP setup to inspect. Positive integer >= 1 when supplied. The network root mailbox (id 0) is not addressable via this tool. When supplied, keys are read from the mailbox; when omitted, from the network. Example: 142.
request.ipstring | nullNoOptional IPv4 or IPv6 address to check against the FTP access allowlist (ftp:ipaddress key). When supplied, an ip section is added to the response reporting whether the address is allowed. Example: 203.0.113.5.

Response​

Returns a data envelope with an always-present account section, an optional ip section (only when ip is supplied), and an optional user section (only when an FTP login name is configured). If the user-status lookup degrades, partial is true and warnings explains what is missing while the FTP-key data is still returned.

{
"data": {
"account": {
"ftpConfigured": true,
"status": "ACTIVE",
"loginName": "ftpuser@acme.example.com",
"hasCertificate": false
},
"ip": {
"allowed": true
},
"user": {
"lockedOut": false,
"status": "Active",
"openSessions": 1
}
},
"partial": false,
"warnings": []
}

When ip is not supplied the ip section is absent:

{
"data": {
"account": {
"ftpConfigured": true,
"status": "ACTIVE",
"loginName": "ftpuser@acme.example.com",
"hasCertificate": false
},
"user": {
"lockedOut": false,
"status": "Active",
"openSessions": 0
}
},
"partial": false,
"warnings": []
}

When FTP is not configured (ftpConfigured: false):

{
"data": {
"account": {
"ftpConfigured": false,
"status": null,
"loginName": null,
"hasCertificate": false
}
},
"partial": false,
"warnings": []
}

Response Fields​

Top Level​

FieldTypeDescription
dataobjectResponse envelope containing account, ip, and user sections
partialbooleantrue when the user-status lookup degraded — FTP-key data is still present
warningsarrayPlain-language descriptions of any degraded lookups

data.account​

FieldTypeDescription
ftpConfiguredbooleantrue when FTP keys are present and configured on the object
statusstring | nullRaw FTP status value from ftp:status key (e.g. ACTIVE, PENDING)
loginNamestring | nullFTP login name configured on the object
hasCertificatebooleanWhether a certificate is associated — raw certificate material is never returned

data.ip (only when ip parameter is supplied)​

FieldTypeDescription
allowedbooleantrue when the supplied IP matches an entry in the ftp:ipaddress allowlist

data.user (only when an FTP login name is configured)​

FieldTypeDescription
lockedOutbooleanWhether the ECGrid user account is currently locked out
statusstringLifecycle status of the ECGrid user (e.g. Active, Suspended, Terminated)
openSessionsintegerNumber of currently open sessions for this user

Example Call — Check Account and IP​

{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "connectivity_comm_check-ftp-access",
"arguments": {
"request": {
"networkId": 7,
"mailboxId": 142,
"ip": "203.0.113.5"
}
}
}
}

Example Call — Check Account Only (No IP Test)​

{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "connectivity_comm_check-ftp-access",
"arguments": {
"request": {
"networkId": 47,
"mailboxId": 500
}
}
}
}

Example Prompts​

  • Why is the FTP login for mailbox 142 being refused?
  • Is IP 203.0.113.5 allowed for FTP on network 7?
  • Check FTP access status for mailbox 500 on network 47

See Also​

  • test-comm — actively test FTP or AS2 delivery by sending a live test parcel
  • list-comms — enumerate all comm channels configured for a mailbox