Platform and integration
Upstream call
An upstream call is one HTTP request that actionlake sent to a vendor's API on your behalf and that returned a definitive, attributable response; it is the unit actionlake meters and bills.
What it is
In HTTP terms, upstream is the direction toward the origin server. RFC 9110 says messages flow from upstream to downstream. For a gateway between AI agents and business systems, the upstream is the vendor: the accounting system, the PSA, the CRM. An upstream call is one request that actually went there and came back with an answer that can be attributed to it.
Upstream calls are whole numbers. There is no fractional call anywhere in actionlake.
Why it matters
The unit you are billed in decides what you pay for. Per seat ignores how much agents do; per tool call charges for work that never reached a vendor; per token prices the model, not the action. An upstream call tracks the thing that costs real money and real vendor quota: a request that hit someone's API.
How it works
A tool call can produce zero, one or many upstream calls:
- Zero when the answer comes from cache, when a dry run checks it, or when it is a search or lookup in the catalogue.
- One for a single
dothat reaches the vendor. - Several when an
askfetches from two systems, or a list is read page by page. Each page is a request.
Not counted: cache hits (within the price book's fair-use ratio), help, find_actions, get_action, check, cost, account, idempotent replays, and calls that returned 401, 403, 429, a 5xx or a timeout, or that our validation rejected before they left.
Example
An ask fetches overdue invoices from the accounting system and urgent tickets from the PSA, then joins them. The invoices are fetched live (1 call); the tickets were fetched a minute ago and come from cache (0 calls). The join is free. The answer costs 1 upstream call. (An illustrative example.)
Common pitfalls
- Comparing unlike units. A "task" on one platform and a "call" on another are not the same; check what each counts.
- Unbounded pages. A list step with no limit reads to the end. In
ask, setmax_rowsormax_pagesso a question cannot bill more pages than you expect. - Paying for failures. Check whether a platform bills requests the vendor rejected or that timed out.
How actionlake handles it
Every response carries AL-Calls, AL-Micros and AL-Cache headers, so the meter is on the response, not only on the invoice. Spending caps are counted in upstream calls and refused before dispatch. The Free plan includes 100,000 upstream calls a month with no card; paid plans include more and charge a published rate per 1,000 after that. The price book is public JSON at https://api.actionlake.com/v1/price-book. See pricing and why cached answers are free.
Questions
Is a tool call the same as an upstream call?
No. A tool call is a request from the agent to actionlake. It may cause no upstream call (a cache hit or a search), one, or several (an ask across two systems).
Are failed requests billed?
Not when the vendor returned 401, 403, 429, a 5xx or a timeout, or when validation rejected the request before it was sent.
How many upstream calls are free?
The Free plan includes 100,000 upstream calls a month, with no card. Cached answers, searches, dry runs and cost checks do not count against it.
Related terms
- Agent spending capAn agent spending cap is a hard limit on how much a single AI agent credential may spend or call in a period, checked before each request is sent, so that a looping or misbehaving agent stops at the limit instead of after it.
- Cross-system joinA cross-system join combines records from two or more separate systems that refer to the same real-world thing, such as one customer in an accounting ledger and a ticket desk, and returns a single combined answer.
- Dry runA dry run checks whether an agent's action would succeed, whether it is allowed and what it would cost, by validating the inputs, permissions and connection without sending anything to the vendor.
- Rate limiting for AI agentsRate limiting for AI agents controls how many requests an agent can make in a time window, both to the platform it calls and to each vendor API behind it, so a fast or looping agent cannot exhaust a shared quota or trigger lockouts.
- Action lakeAn action lake is a governed layer between AI agents and business systems where every action an agent may take is defined, every action it takes is authorised and priced, and every action it took is recorded, independent of the model, framework or vendor.
Sources
Connect an agent. Start free.
100,000 calls free every month. No card. Hard caps on every key.