Docs

MCP quickstart

One URL, one key: connect Claude Code, Claude Desktop or any MCP client.

The receipt format

Every field, how to verify one offline, and a worked example you can reproduce.

HTTP API — Gatefee API 0.1.0

Generated from the OpenAPI document the SDKs are built from.

MethodPathWhat it doesNeeds a key
GET/healthzLiveness + database reachability.No
GET/.well-known/jwks.jsonPublic receipt-signing keys (empty until Phase 4).No
GET/v1/auth/checkIdentify the presented API key. Any scope.Yes
GET/.well-known/http-message-signatures-directoryPublic keys that sign Gatefee's outbound requests (Web Bot Auth). Publishers verify or block us by these.No
GET/v1/publisher/sourcesThe publisher's ingestion sources. Scope `publisher:manage`.Yes
POST/v1/publisher/sourcesAdd an ingestion source (https only).Yes
PATCH/v1/publisher/sources/{id}Change poll interval, pause/resume, or hygiene overrides. Audited.Yes
GET/v1/publisher/rightsThe publisher's rights grants. Scope `publisher:manage`.Yes
POST/v1/publisher/rightsAdd a grant. `price_micro` defaults to the platform list price and must sit inside the band of GET /v1/pricing. 409 if a grant for the same scope and purpose is already effective in the window.Yes
PATCH/v1/publisher/rights/{id}End a grant. Grants are immutable; `effective_to` is the only field that can change, and only to shorten the grant.Yes
GET/v1/pricingPublic, machine-readable pricing. No authentication; rate-limited per client.No
GET/v1/sampleThe fixed sample set, so an agent can inspect the format before it licenses anything. No authentication; rate-limited per client. At most 5 current documents from the platform-operated sample publisher. Free and unmetered — no license, no usage event, no receipt — and the only content Gatefee ever serves without one. These documents cannot be retrieved through /v1/documents. No
GET/v1/publishersPublishers that have signed the publisher agreement and are listed (listing is a default term with a per-publisher opt-out). Names, document counts and section names only. No authentication; rate-limited per client. No
GET/v1/documents/{document_id}Retrieve the current version of a document under a purpose. Metered and receipted.Yes
GET/v1/documents/{document_id}/versions/{version_id}Retrieve a pinned version.Yes
GET/v1/documents/{document_id}/statusWhether a document or its current version has been revoked. Not billable.Yes
GET/v1/receipts/{receipt_id}One of the caller's own receipts.Yes
POST/v1/receipts/verifyServer-side convenience. Offline verification against /.well-known/jwks.json is the real path.Yes
GET/v1/terms/{terms_hash}The public terms document behind a receipt's terms_hash. No authentication. The body's sha256 equals terms_hash.No
GET/v1/terms/buyer/{version}A public buyer-terms version, its text hash and status. No authentication.No
POST/v1/searchFull-text search over licensed, current documents. Metered as one flat-priced search; no receipt.Yes
GET/v1/usageThe caller's own usage and spend. Default window - the current billing period (calendar month, UTC). At most 366 days.Yes