See who your agents act for
Your customers list holds every customer who has connected an agent to you. Each entry’sid is the party ID you pass as customerPartyId when you act for them, and each entry shows the agents acting for that customer, with the permissions and perTransaction limit in force. Read it with GET /customers.
active for accepted access, pending for unaccepted invitations, or all for both. A pending invitation stays on your invitations list until the customer accepts, you revoke it, it expires, or another invitation connects the same agent and customer.
Inspect one customer
Read a single customer withGET /customers/{customerId} to see exactly which agents, permissions, and limits are in force before you change anything. The customerId is that customer’s party ID.
See pending invitations
Invitations you have sent but nobody has accepted yet live on a separate list. Read it withGET /customers/invitations to confirm what is still open before you revoke.
agentInvitations, one adi_* per agent you invited them to. You revoke by that invitationId.
You can invite more than one person at a customer before they connect. Once Natural identifies the recipient’s customer, the invitation stays bound to that customer even if the contact later joins another organization. When any one of those invitations connects an agent, Natural cancels the other pending invitations for that agent and customer with cancelReason: CONNECTION_ESTABLISHED. They stay canceled if access is later revoked, so reconnecting requires a fresh invitation. While the connection is active, new invitations for that agent and customer are skipped, no invitation email is sent, and the existing connection is returned in meta.alreadyConnected.
Revoke a pending invitation
Cancel an invitation the recipient has not accepted withDELETE /customers/invitations/{invitationId}, and they can no longer accept it.
status becomes CANCELED with a cancelReason of DEVELOPER_REVOKED. Revoking an already-canceled or already-accepted invitation is a no-op, so retries are safe.
Revoke an agent’s access
Once a customer has accepted, you revoke per agent.DELETE /customers/{customerId}/agents/{agentId} strips one agent’s authority over that customer immediately. customerId is the customer’s party ID, and agentId is the agent you are pulling.
Disconnect the customer
UseDELETE /customers/{customerId} to end the whole
connection at once from the developer side. Natural’s connection model also permits the customer to
disconnect through a customer-facing surface. Natural atomically revokes every active agent grant
and the customer relationship, so no agent remains authorized if the request succeeds. A retry
returns the already-revoked state and does not emit duplicate revocation events.
Disconnect stops new customer activity and new sources: ["connected"] webhook deliveries
immediately. Events already delivered under the former connection remain available in event history
as audit evidence; events that were never delivered are not exposed through the former connection.