Core

The policy engine: before an action, POST {domain, action (read|cite|connect|transact|administer), agent?, template?, policy?} and receive a signed decision receipt (allow | warn | require_confirmation | block | unsupported) bound to the resolve answer it was made from. When the decision is not allow, alternatives[] names what to do instead (rescan, a machine file, a corroborated profile, an MCP endpoint that completed the handshake, human review), each from CrawlCheck’s own observations. A policy can only make the decision stricter. Templates: safe_citation, safe_data_retrieval, safe_api_connect, safe_mcp_tool, safe_commerce, safe_oauth, support_escalation

post/api/v1/preflight

Request

  • Base URL: https://crawlcheck.io
  • URL: https://crawlcheck.io/api/v1/preflight
  • Auth: none required

Request body

domainstring required
action'read' | 'cite' | 'connect' | 'transact' | 'administer'
agentstring

your crawler token, e.g. GPTBot; checked against the site's robots.txt group for read and cite

templatestring
noncestring

signed back in the receipt; bind a receipt to one request

Response

crawlcheck-decision, signed (Ed25519, prefix crawlcheck-data-v1); verify offline with crawlcheck-verify.mjs

kind'crawlcheck-decision' required
vunknown required
decided_atstring required
expires_atstring nullable
clock_skew_sinteger
noncestring nullable
issued_atstring
operationobject nullable
operation_sha256string
domainstring required
action'read' | 'cite' | 'connect' | 'transact' | 'administer' required
agentstring nullable
templatestring nullable
decision'allow' | 'warn' | 'require_confirmation' | 'block' | 'unsupported' required
base_decision'allow' | 'warn' | 'require_confirmation' | 'block' | 'unsupported' required
human_confirmation_requiredboolean required
reason_codesstring[] required
meaningstring
readingstring
sha256string required

Changes

No recorded changes to this operation across all 1 revision of this API.