balance
ChatGPTThe team's prepaid balance in USD, and any spend currently in flight. Check it when a call is refused for funds, or before a job that will make many calls.
By superdesign
People and company enrichment, AEO and SEO, ads and social data, plus UGC video and images - all in one place, with no provider API keys to manage.
params is the request body for a POST (an object, or an ARRAY of task objects for providers like DataForSEO that expect one) and the query string for a GET. Either a CATALOG endpoint by its id (from catalog_search), or one of THIS TEAM'S own tools as '<tool-name>/<path>' (from my_tools) — e.g. 'render/v1/services' — or a HUB tool by its id '<team-slug>.<name>' (a maker's tool made of tools; params are its inputs, see catalog_get for them). treg injects the credential server-side and relays the provider's response unchanged, so you never hold an API key. Catalog calls on treg's key are metered from the team's prepaid balance; a team's own tool is never metered. Tell the human the price (from catalog_get) before calling anything that costs more than a cent. idempotency_key: pass the SAME key when you are repeating a call whose answer you did not receive — a timeout, a dropped connection, an error on your side after the request went out. treg returns the stored answer, does not call the provider again, and charges nothing the second time; the result carries replayed: true. Use a NEW key (or none) for genuinely new work, even when the parameters are identical: repeating a search to see what changed is a new call, not a retry, and reusing the key would hand you the old answer. Reusing one key for a DIFFERENT request is refused rather than answered. For requests params can't express, the explicit slots mirror the CLI's flags: query is ALWAYS the query string (a list value expands to repeated keys), body is ALWAYS the request body (object/array → JSON; a STRING is sent raw, with content_type naming what it is — sniffed as application/json when it parses as JSON), and headers adds upstream request headers an endpoint needs per-call (e.g. Google Ads' login-customer-id); injected credentials always win over them. Use query + body together for endpoints that split a POST across both (Bright Data's ?dataset_id=… + array body). Giving body implies POST. For multipart requests, put ordinary fields in form and files in uploads as objects with name, filename, content_type and base64 data. Query values are sent the way HTTP spells them: booleans as true/false, nested objects as compact JSON. A null query value is OMITTED from the query string — if an upstream distinguishes an absent parameter from an empty one, send the empty string explicitly rather than null.call, returning the successful binary response as native MCP AudioContent. Use this for Fish Audio TTS; use call for JSON endpoints.verdict: strong = these do it; closest = nearest, check catalog_get; none = not in the catalog, file catalog_request. Use it when a task needs data or an API you have no key for.Click any prompt to copy it.