RFX docs

Errors

Every refusal is JSON: {"error": "CODE", "message": "…", "hint": "…"}. The hint says what to do next. 84 codes, read from the running version.

CodeHTTPExample message
ADDRESS_NOT_ALLOWED403… points to a local or internal host, which RFX does not fetch
AGENT_NOT_PUBLISHED400… does not list an agent with the id "…"
AGREEMENT_FAILED400The order form could not be produced from the agreed terms, so nothing was signed.
ALREADY_CLAIMED400… is already claimed
ALREADY_DECIDED400Break-out already …
ALREADY_EXISTS400… already has an account…
ALREADY_LISTED400… is already on RFX as … (…)
ASSET_NOT_FOUND400… has no asset …
AWAITING_HUMAN_APPROVAL400Terms still with a person at the vendor: …
BAD_JSON400Body is not valid JSON
BAD_REQUEST400Send JSON
BREAKOUT_NOT_FOUND400No break-out … for …
BUYER_REGISTRATION_REQUIRED401… requires a registered buyer.
CAPABILITY_NOT_FOUND400"…" is not in the vocabulary
CARD_DATA_REFUSED400RFX does not take card numbers. Nothing was done, and the number is not kept.
CLAIM_EXPIRED410The claim for … ran out on … without being proved
CLAIM_NOT_PROVEN403The claim for … is not proved yet
CODE_WRONG400That is not the code that was sent
CONNECTOR_REFUSED400The compliance platform did not accept that API key
CONNECTOR_UNREACHABLE400The compliance platform could not be reached: …
DEAL_CLOSED400Deal is …
DEAL_NOT_FOUND400No deal …
DNS_RECORD_NOT_FOUND400The TXT record at _rfx.… is not there yet
ESIGN_REFUSED502The e-signature provider refused the request (HTTP …): …
ESIGN_UNREACHABLE503The e-signature provider could not be reached: …
FORBIDDEN403Only an admin of your company can invite people
HUMAN_CONFIRMATION_REQUIRED400A payment is made by a person: pass their name and confirm: true
IDENTITY_REQUIRED403Before an NDA, your agent must prove which company it acts for….
INCOMPLETE_TERMS400The latest version has no price yet.
INTEGRITY500The stored document does not match the hash recorded when it was kept
INVALID_ARGS400expires_days must be a whole number from 1 to 730
ISSUER_NOT_PUBLISHED400… does not name … as its identity provider
KEY_FILE_UNREADABLE400Could not read …: …
KEY_IN_USE400That key is already used for something else
L3_APPROVAL_REQUIRED403L3 evidence for … requires approval by a human at the vendor.
LAST_ADMIN400This is the company's only admin. Make someone else admin first.
MANIFEST_INVALID400rfx.json needs vendor.slug and catalog
MANIFEST_MISSING400No rfx.json at …
MODEL_UNAVAILABLE503The language-model reader is not set up on this marketplace
NDA_AND_APPROVAL_REQUIRED400Pricing and the deal room open only after a signed NDA and approval by a person at the vendor.
NDA_NOT_OPEN400This NDA is …
NDA_REQUIRED403Level 2 (RFP answers, evidence, capability detail) opens when the NDA with this vendor is signed by both sides.
NO_CHALLENGE400There is no open challenge, or it has expired
NO_CODE400There is no open code, or it has expired
NO_CONTEXT400No system connected yet
NO_NDA400No NDA yet
NO_PERIMETER400Set the company's terms first; a product's own terms then replace them for that product
NO_QUOTE_AVAILABLE400… has not set up pricing on RFX yet.
NO_REQUIREMENTS400Send requirements with the RFP
NOT_FOUND404No such person
NOT_READY400RFX does not take payments through Stripe here, so it cannot use a shared payment token
OWN_PROPOSAL400You cannot accept your own proposal; wait for the counterparty
PAYMENT_AUTHORITY_REQUIRED403Your agent may not pay the buyer plan (…): ….
PAYMENT_DECLINED402The payment was declined: …
PAYMENT_METHOD_REQUIRED402… has saved no payment method, and no shared payment token was given.
PAYMENT_REQUIRED402The introduction fee of … for … is due before you can open negotiation with it
PAYMENT_TOKEN_UNUSABLE402The shared payment token cannot pay …: ….
PAYMENTS_REFUSED502Stripe refused the request (HTTP …): …
PAYMENTS_UNREACHABLE503Stripe could not be reached: …
PDF_NO_TEXT400… has no text layer. Scanned PDFs and images need OCR, which is not built yet.
PERSON_REQUIRED403Only a person can approve the standard NDA in advance for the company.
PRICING_APPLIED400Pricing v… has been applied, so it no longer changes
PRICING_CHECK_FAILED400Pricing v… does not clear the bar: ${e.checks.filter((c) => !c.ok).map((c) =>
PRICING_SIGNED400… signed its vendor agreement with pricing v…; its fees change only with a new signed agreement
RATE_LIMITED429Too many claims are waiting for …
REPO_NOT_REACHABLE400GitHub could not be reached: …
REPO_UNREADABLE400The archive could not be unpacked: …
REQUEST_NOT_FOUND404No request … for …
SIGN_IN_REQUIRED400The sign-in to this MCP server has run out and could not be renewed
SIGNATURE_INVALID400The signature does not match the key the company publishes for this agent
SIGNIN_EXPIRED401This sign-in link has expired or was already used
SIGNIN_TOO_OLD401To close the account, sign in again: your sign-in is older than 10 minutes
STALE_VERSION400Latest is v…
STORAGE_REFUSED502Document storage refused the request (HTTP …): …
STORAGE_UNREACHABLE503Document storage could not be reached: …
TOKEN_INVALID400token must be a signed JWT from your identity provider
TOO_LARGE400… is larger than 5 MB; images up to 5 MB can be read
TOO_MANY_TRIES400Too many sign-in attempts for this address today
UNAUTHORIZED401Invalid or missing x-vendor-key
UNKNOWN_TOOL404No tool '…'
VENDOR_NOT_CLAIMED400… is listed at L1 only. Its claim is being checked by RFX.
VENDOR_NOT_FOUND404Unknown vendor '…'
VENDOR_NOT_VERIFIED403Prove the company first: the agreement is with the company of your domain
VENDOR_PAUSED409… is not taking new requests at the moment