{"schema_version":"anchorfact.api-access.v1","generated":"2026-06-24T09:35:53.832Z","provenance_url":"https://anchorfact.org/provenance.json","name":"AnchorFact API Access Policy","description":"Machine-readable access policy and recommended call order for the public read-only AnchorFact API.","access_policy":{"current_access":"public_no_key","no_api_key_required":true,"account_required":false,"payment_required":false,"subscription_required":false,"read_only":true,"future_paid_beta_requires_readiness_gates":true},"readiness_policy":{"status_endpoint":"/api-readiness.json","current_mode":"free_no_key_read_only","report_only_until_gates_met":true,"paid_beta_requires":["production_integrity_14_day","public_audit_14_day","ai_primary_discovery_ratio_7_day","design_partners"],"blocker_source":"/api-readiness.json readiness_blockers","blocker_evidence_requirements":[{"id":"production_integrity_14_day","gate_type":"automated_window","status":"not_measured_in_this_report","target":"14 consecutive days production:integrity passing and AI eval 100%","required_days":14,"runtime_input_id":"production_integrity","report_field":"production_health","json_flag":"--production-integrity-json","command":"npm run production:integrity -- --write-json reports/production-integrity.json","history_command":"npm run readiness:history -- --history-dir reports/readiness-history --api-readiness-json reports/api-readiness.json --content-health-json reports/content-health.json --save-current --write reports/readiness-window.md --write-json reports/readiness-window.json","status_when_missing":"not_provided","required_fields":["ok","checks","commit_sha","source_commit_sha"]},{"id":"public_audit_14_day","gate_type":"automated_window","status":"not_measured_in_this_report","target":"14 consecutive days with 0 move_to_draft / repair_sources public audit findings","required_days":14,"runtime_input_id":"content_health","command":"npm run content:health -- --json --write reports/content-health.json","history_command":"npm run readiness:history -- --history-dir reports/readiness-history --api-readiness-json reports/api-readiness.json --content-health-json reports/content-health.json --save-current --write reports/readiness-window.md --write-json reports/readiness-window.json"},{"id":"ai_primary_discovery_ratio_7_day","gate_type":"automated_window","status":"not_measured_in_this_report","target":">=0.2 primary/discovery ratio for 7 consecutive days","required_days":7,"runtime_input_id":"ai_adoption","report_field":"adoption_signal","json_flag":"--adoption-json","command":"npm run usage:adoption -- --lookback-minutes 1430 --write-json reports/ai-adoption-scorecard.json","history_command":"npm run readiness:history -- --history-dir reports/readiness-history --api-readiness-json reports/api-readiness.json --content-health-json reports/content-health.json --save-current --write reports/readiness-window.md --write-json reports/readiness-window.json","status_when_missing":"not_provided","preferred_measurement_scope":"interactive_ai","required_fields":["identified_ai_primary_to_discovery_ratio","identified_ai_primary_to_discovery_target_status","interactive_ai_primary_to_discovery_ratio","interactive_ai_primary_to_discovery_target_status","crawler_ai_primary_to_discovery_ratio"]},{"id":"design_partners","gate_type":"manual_validation","status":"manual_validation_required","target":">=3 real external design partners and >=1 paid-intent signal","runtime_input_id":"design_partners","report_field":"design_partner_signal","json_flag":"--design-partners-json","command":"npm run api:readiness -- --design-partners-json reports/design-partners.json","history_command":"npm run readiness:history -- --history-dir reports/readiness-history --api-readiness-json reports/api-readiness.json --content-health-json reports/content-health.json --save-current --write reports/readiness-window.md --write-json reports/readiness-window.json","status_when_missing":"manual_validation_required","manual_validation":true,"required_fields":["external_design_partner_count","paid_intent_signal_count"]}],"manual_validation_required":["design_partners"],"runtime_signal_contract":{"status_endpoint":"/api-readiness.json","static_artifact":true,"missing_runtime_status":"not_provided","workflow":".github/workflows/readiness-scorecard.yml","scorecard_command":"npm run api:readiness -- --adoption-json reports/ai-adoption-scorecard.json --production-integrity-json reports/production-integrity.json --write reports/api-readiness.md --write-json reports/api-readiness.json","history_command":"npm run readiness:history -- --history-dir reports/readiness-history --api-readiness-json reports/api-readiness.json --content-health-json reports/content-health.json --save-current --write reports/readiness-window.md --write-json reports/readiness-window.json","published_static_artifact":"https://anchorfact.org/api-readiness.json","runtime_input_ids":["production_integrity","ai_adoption","design_partners"],"preferred_adoption_scope":"interactive_ai","manual_validation_required":["design_partners"]}},"counts":{"public_articles":1348,"draft_articles":280,"public_claims":4304},"recommended_call_order":[{"id":"context","method":"GET","path":"/api/context?q={query}","format_options":["json","markdown"],"use_when":"Default answer assembly with answer policy, content health, evidence packs, and citation-ready claims."},{"id":"evidence","method":"GET","path":"/api/evidence?q={query}","format_options":["json","markdown"],"use_when":"Source-grounded evidence packs when a concrete factual query is already known."},{"id":"cite","method":"GET","path":"/api/cite?id={claim_id}","format_options":["json","markdown"],"use_when":"Citation-ready output for one public atomic claim."},{"id":"plan","method":"GET","path":"/api/plan?q={query}","format_options":["json"],"use_when":"Coverage and fallback preflight only when AnchorFact coverage is uncertain."}],"primary_api_conversion":{"target_ratio":0.2,"measured_as":"identified AI primary API requests divided by identified AI discovery requests","developer_docs_signal":"Use this policy page as a bridge to the next query-scoped primary API request, not as the terminal artifact.","next_request_after_policy":{"id":"context","path":"/api/context?q={query}&limit=3&format=markdown","required_parameter":"q","method":"GET","url":"https://anchorfact.org/api/context?q={query}&limit=3&format=markdown"},"minimum_valid_primary_calls":[{"id":"context","path":"/api/context?q={query}&limit=3&format=markdown","required_parameter":"q","method":"GET","url":"https://anchorfact.org/api/context?q={query}&limit=3&format=markdown"},{"id":"evidence","path":"/api/evidence?q={query}&limit=3&format=markdown","required_parameter":"q","method":"GET","url":"https://anchorfact.org/api/evidence?q={query}&limit=3&format=markdown"},{"id":"cite","path":"/api/cite?id={claim_id}&format=markdown","required_parameter":"id","method":"GET","url":"https://anchorfact.org/api/cite?id={claim_id}&format=markdown"},{"id":"resolve_batch","path":"/api/resolve-batch?ref={claim_id}&ref={source_id}&format=markdown","required_parameter":"ref","method":"GET","url":"https://anchorfact.org/api/resolve-batch?ref={claim_id}&ref={source_id}&format=markdown"}],"parameter_error_prevention":{"bare_primary_paths_return_recoverable_400":true,"do_not_call_bare_paths":["/api/context","/api/evidence","/api/cite","/api/source","/api/resolve-batch"],"copy_minimum_valid_primary_calls_first":true,"recovery_field_on_400":"machine_recovery"}},"answer_policy_path":"/api/context?q={query}","unsupported_answer_mode":"external_sources_required","trust_check":{"path":"/provenance.json","signature_path":"/provenance.sig","require_trusted_signature":true,"pinned_public_key_path":"keys/provenance.pub.pem"},"related_machine_contracts":["/api","/index.json","/agent.json","/openapi.json","/api-readiness.json","/artifact-summary.json","/content-health.json"]}