docs(agent): document exchange.onTermsRequired and the terms-required flow - #1466
Merged
Merged
Conversation
… flow Agent runs only call Alexandria providers whose data terms the team has accepted. Document the skip / ask / fail modes, the skippedProviders, requiresAction and error response fields, and the accept-then-continue flow (terms/show, explicit user consent, terms/accept, then exchange.approve on the thread). There is no auto-accept mode. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Fail mode also ends on an answerable terms pendingApproval; requiresAction always carries approvalId and is absent when the offer was deferred behind a paid-call approval; a null accept digest comes from terms/show; only the listed callIds count ([] names nobody, omitted means all). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Matches the extract-v3#182 scope cut: onTermsRequired is skip or ask, a terms offer is accepted or declined as a whole, and digest is always present and nullable. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
No per-provider id; approve callIds/always are ignored on terms offers; no terms offer on a turn that ends on a paid-call approval; terms gating is rolling out. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Add "Data providers that need terms" and the exchange.onTermsRequired parameter row to the es, fr, ja, pt-BR and zh Agent pages, with every API literal, JSON and curl sample kept exactly as in English, and mirror the one-line Alexandria change. Fixes the locale-literals check (missing requiresAction); the remaining failures are identical to main. - Remove the "rolling out" note: the terms gate is live for all teams (extract-v3#183). Localized files are edited by hand here with Rak's approval, as an exception to CLAUDE.md, because the check blocks this PR. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
rakshith48
marked this pull request as ready for review
September 28, 2026 05:30
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Agent runs now call only the Alexandria providers whose data terms the team has accepted, and callers choose what happens with
exchange.onTermsRequired(firecrawl/extract-v3#182). The docs didn't cover any of this.What changes
features/agent.mdx: a new section, Data providers that need terms.terms/accept.skip(default) andask, and thread inheritance when the option is omitted.skippedProvidersandrequiresAction(approvalIdis always present, with the exactterms/show/terms/acceptcalls).digestis always present and can benull, and thenterms/showsupplies it. There's also apendingApprovalofkind: "terms", with a JSON example.terms/show, then explicit consent, thenterms/acceptvia/v2/scrapewithalexandria, thenexchange.approve: { approvalId }on the thread.exchange.decline: { approvalId }declines the whole offer.callIds/alwaysare ignored on terms offers.exchange.onTermsRequiredrow in the Parameters table.features/alexandria.mdx: one sentence in "Provider terms" linking to the new Agent section.Cut from v1, per the extract-v3#182 scope cut:
failmode, deferring a terms offer behind a paid-call approval, anddecline.callIds.es,fr,ja,pt-BR,zh): the same section, theexchange.onTermsRequiredrow and the Alexandria sentence, translated by hand. Every API literal, field name and JSON/curl sample is kept exactly as in English, and headings keep the English anchors. This goes against CLAUDE.md's "don't modify localized files", with Rak's approval, because the "Locale literals" check fails otherwise (missing API literal ... drops requiresAction). With the translations in,scripts/check-locale-api-literals.shgives output identical tomain(only the pre-existing change-tracking, search, monitoring, cli, webhooks and v0/v1 findings). The self-test and extraction-hostile checks pass. The next Locadex sync may retranslate these sections. Not covered:v2-openapi.jsondoesn't document the Agentexchange,threadIdormoderequest fields at all yet, so I didn't add a partialexchangeobject there.Related PRs and deploy order
NEXT_PUBLIC_AGENT_TERMS_OFFER)🤖 Generated with Claude Code