{
  "schema_version": "civicdataforge.integration-recipes.v1",
  "updated_at": "2026-08-24",
  "canonical_url": "https://civicdataforge.pages.dev/integration-recipes.json",
  "credential_policy": "Caller-owned scoped credentials only. Never place a live token in a URL, repository, example, analytics event, or client-side page.",
  "recipes": [
    {"id":"apify-rest-sync","availability":"available_now","interface":"REST","method":"POST","endpoint":"https://api.apify.com/v2/acts/civicdataforge~civicdataforge-evidence-gateway/run-sync-get-dataset-items?timeout=120","openapi_url":"https://civicdataforge.pages.dev/openapi/evidence-gateway.openapi.json","authentication":"Authorization: Bearer $APIFY_TOKEN","example_body":{"task":"us_property_decision","subject":{"address":"1100 Briercliff Drive, Orlando, FL","city":"Orlando","state":"FL"},"purpose":"property compliance research","retentionDays":0,"transactionGate":true},"required_controls":["bounded timeout","non-2xx remains unresolved","preserve decision state and receipt"]},
    {"id":"remote-mcp","availability":"available_now","interface":"MCP Streamable HTTP","endpoint":"https://civicdataforge.pages.dev/mcp","authentication":"X-Apify-Token: $APIFY_TOKEN","required_controls":["secret storage","preserve source/scope/retrieval/decision/receipt fields","do not convert no-match into clearance"]},
    {"id":"apify-run-webhook","availability":"available_now","interface":"HTTPS webhook","authentication":"shared secret configured by customer","required_controls":["verify secret","acknowledge quickly","queue processing","deduplicate by Actor run ID plus event type","support retried delivery"]},
    {"id":"dataset-export","availability":"available_now","interface":"Apify dataset export","endpoint_template":"https://api.apify.com/v2/datasets/$DATASET_ID/items?format=jsonl&clean=true","formats":["json","jsonl","csv","xml","xlsx","html","rss"],"required_controls":["named dataset for durable platform storage","customer retention policy","schema validation"]},
    {"id":"customer-specific-adapter","availability":"requires_scope_build_and_acceptance_test","interfaces":["SFTP","private API","platform-native app","customer system connector"],"required_controls":["source feasibility","rights review","transformation contract","retry and idempotency","downstream review path","acceptance test"]}
  ],
  "responsible_use": "A no-match, unavailable source, incomplete scope, timeout, or review candidate is not affirmative clearance."
}
