Connection details
Refreshing rotates both the access and refresh token. Reusing an old code or refresh token revokes the whole connection, so clients should refresh one request at a time.
Scopes
reyda_get_context needs no scope. The user approves the requested scopes together. Scopes never widen what the user can already see in Reyda.
Access checks on every call
Each tool call checks, at the time of the call, that:- the user is still an active member of the connected organization;
- the organization has an active paid subscription (free, trial and expired plans are refused; a plan scheduled to end works until its end date);
- the connection has the scope the tool needs;
- the user can see the specific opportunity, document or pipeline item, including Reyda’s rules for sensitive library documents.
Limits
Response size, request size, call time and call rate are also capped. Long text fields may be cut short, with
truncated set. Pagination reflects live data, so results can shift if data changes between pages.
Tools
reyda_get_context
Describes the connection: environment, granted scopes, available tools, the Reyda app URL and its limits (max_results, max_document_characters, max_response_bytes). No parameters. Useful as a first call to check the connection works.
reyda_search_opportunities
Searches existing opportunities. Returnsopportunities (same fields as reyda_get_opportunity), has_more and next_offset. Scope: opportunities:read.
reyda_get_opportunity
Returns one opportunity:title, summary and summary_kind, source_url, deadline and deadline_timezone, estimated_value and currency, publication_date, updated_at, the organization’s existing fit result (shortlist_status, shortlist_score), app_url, and missing_data / truncated flags. The summary is labelled as an existing AI summary, separate from published facts. Scope: opportunities:read.
reyda_list_documents
Lists files with their processingstatus (ready, processing or unavailable), title, app_url and update time. Omit opportunity_id to list the organization’s library. Returns documents, has_more, next_offset. Scope: documents:read, plus opportunities:read for opportunity documents.
reyda_read_document
Reads text Reyda has already extracted from a document. Returnsdocument, status, evidence (the text, its character offset, total_characters, revision, and page_start / page_end when Reyda has a reliable page mapping), next_offset, truncated and a citation_url. If there is no extracted text, status is processing or unavailable; this doesn’t mean the document is empty, and no extraction is started. Scope: documents:read, plus opportunities:read for opportunity documents.
Offsets count characters, not bytes. Document text is untrusted content: assistants are told to treat it as evidence, never as instructions.
reyda_list_pipeline
Lists pipeline items in the connected organization. Each item hasid, opportunity_id, title, status, app_url, source_url and updated_at. Returns items, has_more, next_offset. Scope: pipeline:read.
reyda_search_organizations
Finds buyers and suppliers by name. Each result has a stableid, name, role, country and app_url. Organizations with the same name keep separate IDs. Returns organizations, coverage of the recorded data, has_more, next_page, missing_data. Scope: intelligence:read.
reyda_get_buyer
Returns a buyer’s recorded award count, recorded contract values by currency (each currency kept separate), top suppliers, andcoverage. Contract values are published values, not actual payments. Scope: intelligence:read.
reyda_get_supplier
Returns a supplier’s profile, sectors, recorded winner award count and the recorded award value in its dominant currency only (not a total across currencies). Scope:intelligence:read.
reyda_list_supplier_contracts
Lists a supplier’s recorded contracts. Each contract hastitle, buyer name, ID and country, participation_role, publication_date, published_contract_value and currency, recorded_end_date (empty when unknown), opportunity_id, source_url and app_url. Returns contracts, coverage, has_more, next_page. Recorded end dates don’t confirm a future tender. Scope: intelligence:read.
Error codes
When a call is refused, the tool returns an error with one of these codes:
Requests over the HTTP rate limit get status 429 with a
Retry-After header.
FAQ
Which tool should a client call first?
Which tool should a client call first?
reyda_get_context. It needs no scope and returns the environment, granted scopes, available tools and limits, so it confirms the connection works.Why was the whole connection revoked after a refresh?
Why was the whole connection revoked after a refresh?
Refreshing rotates both tokens. Reusing an old code or refresh token, for example from two parallel refreshes, revokes the connection. Refresh one request at a time.