Skip to content

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.

Updated Also called Billable call2 sources checked

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 do that reaches the vendor.
  • Several when an ask fetches 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, set max_rows or max_pages so 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.

Sources

  1. RFC 9110: HTTP Semantics, section 3.7 IntermediariesIETF · checked 22 October 2026
  2. LLM10:2025 Unbounded ConsumptionOWASP Gen AI Security Project · checked 22 October 2026

All 30 glossary terms

Connect an agent. Start free.

100,000 calls free every month. No card. Hard caps on every key.