Repository navigation
docs(api): type requiresAction as an object, add search toolDetail, fix DiscoveredTool required fields - #1502
Merged
Conversation
The 403 THIRD_PARTY_DATA_TERMS_REQUIRED response on POST /scrape typed requiresAction as a boolean. The API returns an object with type, terms, version, and url. This change documents that object. POST /search accepts toolDetail (compact, summary, full) to set how much of each tool contract data.tools returns. The spec did not list it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKCJJgeohVR5dnd1MDBzAR
|
Preview deployment for your docs. Learn more about Mintlify Previews.
💡 Tip: Enable Automations to automatically generate PRs for you. |
With the compact default, data.tools entries carry only provider, capability, and description. The DiscoveredTool schema required id, name, creditsCost, and perRecord too. This change sets required to the three compact fields and says in each field description which toolDetail levels return it. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LKCJJgeohVR5dnd1MDBzAR
Contributor
Author
|
The failing check is "Locale literals and extraction-hostile markdown". The step that fails is "Keep API literals untranslated" ( This failure is not caused by this PR. The check fails the same way on
This PR changes only English source files and adds no findings. There is no fix yet. The repo's CLAUDE.md says the translation pipeline owns localized files, so this PR does not edit them. Generated by Claude Code |
micahstairs
approved these changes
Oct 2, 2026
micahstairs
marked this pull request as ready for review
October 2, 2026 15:13
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.
Requested by Micah Stairs · Slack thread
Before: The POST /scrape 403
THIRD_PARTY_DATA_TERMS_REQUIREDresponse typedrequiresActionas a boolean. The API sends an object, so clients that read the spec did not know where to find the terms URL. The POST /search request schema did not listtoolDetail, so users could not find out how to get more detail indata.tools. TheDiscoveredToolschema also requiredid,name,creditsCost, andperRecord. With the defaulttoolDetail(compact), the API does not return these fields.After:
requiresActionis an object withtype(accept_terms),terms(the provider),version, andurl. Theurldescription says it is the dashboard page where a human accepts the terms. POST /search liststoolDetail(compact,summary,full, defaultcompact) and explains what each value returns indata.tools.DiscoveredToolnow requires onlyprovider,capability, anddescription, which are the fields that every level returns. Each of the other fields says whichtoolDetaillevels return it.How: I changed only
api-reference/v2-openapi.json. Sources in firecrawl/firecrawl ate76d5b6:requiresActionshape:apps/api/src/lib/exchange.ts:680-687(getter) andexchange.ts:648-650(the URL is<dashboard>/app/alexandria/<provider>).response()atexchange.ts:689-696sends it in the 403 body.toolDetailparam and default:apps/api/src/controllers/v2/types.ts:2553. The search controller passes it atcontrollers/v2/search.ts:411.data.toolsand onDiscoveredTool:apps/api/src/search/alexandria.ts:214-221:compactkeeps onlyprovider,capability, anddescription.alexandria.ts:111-116: other levels addid,matchedBy, andmatchedUrls.services/alexandria/contracts.ts:71-79:summarydropsoptionsandresponse.alexandria.ts:68-71and:85:fullexpandsoptions,response, andexamples(contracts.ts:51-70).This is the only
requiresActionin the spec. The agent endpoint uses a differentrequiresActionshape (controllers/v2/types.ts:1748), and crawl errors also carry it (controllers/v2/crawl-errors.ts:92). The spec does not document either one yet, so I left them for a follow-up. I validated the JSON withpython3 -m json.tool. I did not change localized files.🤖 Generated with Claude Code
https://claude.ai/code/session_01LKCJJgeohVR5dnd1MDBzAR