Discover APIs for a question
POST /v2/ask requires ask:create. It uses the Ask page’s interpreter and
source searches, returning choices from Apiosk and Coinbase Bazaar. Discovery
makes no paid provider request and creates no plan or approval.
The two surfaces share the discovery implementation. Separate requests can
produce different wording or alternative providers because model interpretation
and directory listings vary; responses are not guaranteed to be identical.
question only: 1–16000 UTF-16 code units. The response has
parsed_request, apis, both origin results in searches, and errors.
status is choices, needs_input when no choices match, or partial if an
origin search is unavailable. Inspect every choice’s executable flag.
Output values arrive after execution. Discovery returns output contracts;
it does not fabricate source data. A directory-only choice has
executable: false. Even an executable choice may need additional inputs.
Review the fields and total spending cap; a native lookup can add steps and cost.
Execute the selected API
POST /v2/execute requires sources:execute, Idempotency-Key, and max_spend.
It uses the same selected-source preparation, approval, executor and ledger as
the Ask page. It does not reinterpret the question or choose a replacement API.
input with the selected choice’s input_values, plus any
missing fields. Preserve the exact field names. max_spend is the approved
total in USD, not an atomic amount. The current price, key limits and balance
are checked before purchase. Reuse the same idempotency key and selection/input
for retries; changed selection/input under that key returns 409.
Registered APIs return completed with results/data and usage. External
providers return the saved purchase view: succeeded, result, result_present
and ledger-backed billing. Both return id; running uses HTTP 202.
Read GET /v2/runs/{id} to recover progress and results. A successful payment
with result_present: false needs read-only recovery, never another purchase.
External execution is asynchronous; wait_seconds applies to registered APIs.
To verify a deployment, send the same question through Ask and this endpoint,
compare source IDs, capabilities, input/output contracts and prices, then run
one selected API within an approved cap. Repeat the identical execution request
and check that the run ID, saved output and ledger charge are unchanged.
View saved annual accounts
The App presents supported structured annual accounts with named key figures, balance-sheet and income-statement tables, and numbers formatted for the browser’s locale. The financial year and source dates remain visible. A currency is shown only when supplied by the source; the billing currency does not establish the currency of the accounts. The filing year may be older than the current year. Opening the full result reuses the saved data without another provider purchase. Choose View full answer to open it. On phones, pull down from the drawer’s handle or header to close it; a short pull settles back into place. The close button remains available, and the answer scrolls between the fixed header and footer. Full source data and JSON preserve the original response. CSV exports the labelled financial fields and their source values. The HTTP API continues to return source data rather than the App’s display formatting.Optional multi-source planner
The previous question-to-plan contract is available at/v2/ask/plan. Move
clients that send execution_mode, limit or wait_seconds with a question
to that path. Its saved-run, approval and continuation endpoints are unchanged.
Explicit workflow requests remain supported by /v2/ask.
ask:create.
estimated_total is
the maximum the run may cost; you are charged what the sources actually cost,
which can be less.
Run it later
ask:execute.
Run it immediately
auto, Apiosk runs the plan without a second call, but only when all four
hold: the plan’s maximum cost is within max_spend, within the key’s
per-request limit, within what the key may still spend this month, and within
the organisation’s balance.
If the plan costs more than max_spend, you get the plan back, unrun and
unbilled:
Clarify before buying
Aneeds_input response may contain field schemas, a natural
language message, or both. Ask the person for the missing
context; never fill it in by guessing. A needs_selection response
offers candidates, so ask which entity they meant.
When the response includes continuation, use
POST /v2/asks/{id}/continue to select a candidate or supply
the requested structured value on the same saved task. A paid search is not
repeated. Selection resumes the remaining work under the original valid
approval; a new quote created by supplied input requires an explicit /run.
A natural-language clarification without continuation still requires a new
clarified Ask. Inspect the earlier run’s results and usage first; do not
automatically repeat a paid request. Document uploads use the App.

