| Client | v4 SDK entry point. Resource-grouped sub-clients (Stripe / OpenAI convention). Construct one Client per aggregator endpoint; all requests share the same transport (and therefore the same Bearer token + timeout + fetch impl). |
| APIError | Thrown when the server returns a 4xx/5xx response. The aggregator speaks RFC 7807 problem+json (application/problem+json); this class surfaces every field plus the underlying HTTP status so SDK callers can pattern-match without re-parsing the body. |
| NetworkError | Thrown when the SDK can't reach the server (DNS failure, fetch threw). |
| AuthRequiredError | Thrown when the auth credential is missing or expired before a call. |
| AuthResource | client.auth.* — JWT exchange for the REST API. |
| ExecutionsResource | client.executions.* — read-only access to past workflow runs and a live SSE stream for in-flight ones. Workflow executions are created by the operator when a trigger fires (or by workflows.trigger for manual runs); this resource never creates them, only reads. |
| HealthResource | client.health.* — gateway liveness + version probes. |
| NodesResource | client.nodes.* — execute a single node definition in isolation, without persisting a workflow. Used by the Studio UI's per-node "Run once" affordance and by SDK test suites that exercise a node shape against a live gateway. |
| OperatorsResource | client.operators.* — read-only view of the operator pool the gateway is currently dispatching to. Used by dashboards and the Studio sidebar's network-health widget; not part of the workflow lifecycle. |
| SecretsResource | client.secrets.* — write-only secret store, scoped to the authenticated user. Values are referenced from workflow nodes via {{secrets.NAME}} template variables and are decrypted server-side at execution time; the SDK never receives the plaintext value back. |
| TokensResource | client.tokens.* — ERC-20 metadata resolution backed by the aggregator's curated whitelist plus an on-chain name/symbol/decimals fallback. Used by the Studio token-picker, transfer-preview UI, and the notification cost-line renderer. |
| TriggersResource | client.triggers.* — evaluate a trigger config in isolation, mirroring the per-node nodes.run shape. Use when designing or debugging a trigger before wiring it into a full workflow — e.g. confirming that an eventTrigger topic filter matches a known historical event, or that a cron expression parses. |
| WalletsResource | client.wallets.* — smart-wallet CRUD plus the UserOp-driven withdraw action. A "wallet" here is an ERC-6900 / ERC-4337 smart account derived deterministically from (owner, factory, salt) — the SDK never creates an EOA, it ensures-and-registers smart accounts owned by the authenticated user's EOA. |
| WorkflowsResource | client.workflows.* — the primary surface for creating and controlling automations. A "workflow" is one trigger + a DAG of nodes that fires when the trigger condition matches. This resource covers the full lifecycle: create, list, retrieve, pause / resume, cancel, manual trigger, dry-run simulation, and fee estimation. |