{
  "serverInfo": {
    "name": "CivicDataForge Public-Records Data",
    "version": "1.4.0"
  },
  "authentication": {
    "required": true,
    "schemes": [
      "apiKey"
    ],
    "instructions": "Supply a caller-owned raw Apify API token in the X-Apify-Token header. The relay does not embed a publisher token."
  },
  "tools": [
    {
      "name": "civicdataforge--civicdataforge-evidence-gateway",
      "title": "CivicDataForge Evidence Gateway",
      "description": "Use for routing a supported U.S. property, India company or supplier, restricted-party, EPA facility, or rights-first China-facing intake task into one minimized, receipt-bound packet. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "description": "Route a U.S., India, global screening, EPA, or China-facing evidence task through one receipt-bound contract.",
        "properties": {
          "task": {
            "title": "Evidence task",
            "type": "string",
            "enum": [
              "us_property_decision",
              "india_company_evidence",
              "india_supplier_pack",
              "restricted_party_screening",
              "epa_facility_evidence",
              "china_counterparty_intake"
            ]
          },
          "subject": {
            "title": "Exact subject identifiers",
            "type": "object",
            "additionalProperties": true
          },
          "evidence": {
            "title": "Rights-labeled customer or licensed evidence",
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            },
            "default": []
          },
          "purpose": {
            "title": "Purpose",
            "type": "string"
          },
          "retentionDays": {
            "title": "Packet retention days",
            "type": "integer",
            "minimum": 0,
            "maximum": 365,
            "default": 30
          },
          "previousReceiptHash": {
            "title": "Previous evidence-state receipt",
            "type": "string",
            "pattern": "^sha256:[a-f0-9]{64}$"
          },
          "transactionGate": {
            "title": "Include caller-policy transaction state",
            "type": "boolean",
            "default": false
          },
          "screenRestrictedParties": {
            "title": "Screen China-facing subject against the U.S. ITA CSL",
            "type": "boolean",
            "default": true
          },
          "batchReference": {
            "title": "Customer batch reference",
            "type": "string",
            "maxLength": 120
          }
        },
        "required": [
          "task",
          "subject"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--str-permit-registry",
      "title": "US STR Permit Registry",
      "description": "Use for address, permit-ID, or jurisdiction research across 30 supported US short-term-rental permit sources. For Florida statewide DBPR lodging licenses, use fl-dbpr-vacation-rentals instead. Address mode preserves explicit evidence decisions, scope, and receipts. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Which of the 29 covered cities to pull. Published fields vary by city — see the README coverage table.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "seattle",
                "orlando",
                "new_orleans",
                "denver",
                "chicago",
                "marin",
                "norfolk",
                "nashville",
                "osceola_county",
                "polk_county",
                "austin",
                "houston",
                "sacramento",
                "san_bernardino",
                "bend",
                "aspen",
                "philadelphia",
                "albuquerque",
                "asheville",
                "louisville",
                "arlington",
                "san_diego",
                "scottsdale",
                "huntington_beach",
                "coconino",
                "san_juan",
                "chattanooga",
                "boston",
                "kansas_city"
              ],
              "enumTitles": [
                "Seattle, WA",
                "Orlando, FL",
                "New Orleans, LA",
                "Denver, CO",
                "Chicago, IL",
                "Marin County, CA",
                "Norfolk, VA",
                "Nashville, TN",
                "Osceola County, FL",
                "Polk County, FL",
                "Austin, TX",
                "Houston, TX",
                "Sacramento, CA",
                "San Bernardino County, CA",
                "Bend, OR",
                "Aspen, CO",
                "Philadelphia, PA",
                "Albuquerque, NM",
                "Asheville, NC",
                "Louisville, KY",
                "Arlington, TX",
                "San Diego, CA",
                "Scottsdale, AZ",
                "Huntington Beach, CA",
                "Coconino County, AZ",
                "San Juan County, WA",
                "Chattanooga, TN",
                "Boston, MA",
                "Kansas City, MO"
              ]
            },
            "default": [
              "orlando"
            ],
            "prefill": [
              "orlando"
            ]
          },
          "status": {
            "title": "Permit status filter",
            "type": "string",
            "description": "Return all permits, or only currently-active licenses.",
            "editor": "select",
            "enum": [
              "all",
              "active"
            ],
            "enumTitles": [
              "All permits",
              "Active only"
            ],
            "default": "all",
            "prefill": "active"
          },
          "maxRecordsPerCity": {
            "title": "Max records per city",
            "type": "integer",
            "description": "Cap records per city (leave empty for the full registry).",
            "minimum": 1,
            "nullable": true,
            "default": 50,
            "prefill": 25
          },
          "resolveJurisdiction": {
            "title": "Resolve governing jurisdiction",
            "type": "boolean",
            "description": "Use coordinates and Census boundaries to distinguish an incorporated city from an unincorporated county area. Disable for a faster raw-source pull.",
            "default": true
          },
          "snapshot": {
            "title": "Monitor changes from a complete pull",
            "type": "boolean",
            "description": "Persist a query-scoped baseline and compare it with the prior complete run. Requires maxRecordsPerCity to be cleared; capped results are rejected so they cannot create false disappearance alerts.",
            "default": false
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--fl-dbpr-vacation-rentals",
      "title": "Florida DBPR Vacation-Rental Licenses",
      "description": "Use for Florida statewide DBPR vacation-rental and lodging-license evidence. For municipal STR permits use str-permit-registry; for code violations use property-violations. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "county": {
            "title": "County",
            "type": "string",
            "description": "Filter to one Florida county by property location (e.g. Orange, Osceola, Dade, Monroe, St. Johns). Leave empty for statewide.",
            "editor": "textfield",
            "prefill": "Orange",
            "nullable": true
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "Filter by property location city (e.g. Kissimmee, Orlando, Destin). Leave empty for all.",
            "editor": "textfield",
            "nullable": true
          },
          "status": {
            "title": "License status",
            "type": "string",
            "description": "Current = up to date with DBPR; Delinquent = license not renewed on time (expiry date has passed).",
            "editor": "select",
            "enum": [
              "all",
              "current",
              "delinquent"
            ],
            "enumTitles": [
              "All licenses",
              "Current only",
              "Delinquent only"
            ],
            "default": "all",
            "prefill": "current"
          },
          "licenseType": {
            "title": "License type",
            "type": "string",
            "description": "DBPR licenses vacation rentals as Condos (type 2006) or Dwellings (type 2007, incl. single-family homes & townhouses).",
            "editor": "select",
            "enum": [
              "all",
              "condo",
              "dwelling"
            ],
            "enumTitles": [
              "Both types",
              "Vacation Rental — Condo",
              "Vacation Rental — Dwelling"
            ],
            "default": "all"
          },
          "nameContains": {
            "title": "Name contains",
            "type": "string",
            "description": "Case-insensitive substring match on the business name or licensee name.",
            "editor": "textfield",
            "nullable": true
          },
          "maxRecords": {
            "title": "Max records",
            "type": "integer",
            "description": "Cap total records returned (statewide is ~174k).",
            "minimum": 1,
            "default": 100,
            "prefill": 25
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "The state site blocks plain datacenter traffic; Apify Proxy is used by default. Switch to residential if datacenter IPs get blocked.",
            "editor": "proxy",
            "default": {
              "useApifyProxy": true
            },
            "prefill": {
              "useApifyProxy": true
            }
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--property-violations",
      "title": "Municipal Property Violations",
      "description": "Use for municipal building, property, and code-violation research in supported jurisdictions. Do not use for STR licensing or restaurant health inspections; choose the corresponding permit or inspection tool. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cities": {
            "title": "Cities",
            "type": "array",
            "description": "Which city building code-enforcement / property-violation registries to pull.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "chicago",
                "nyc",
                "san_francisco",
                "austin"
              ],
              "enumTitles": [
                "Chicago, IL",
                "New York City, NY",
                "San Francisco, CA",
                "Austin, TX"
              ]
            },
            "default": [
              "austin"
            ],
            "prefill": [
              "austin"
            ]
          },
          "status": {
            "title": "Violation status filter",
            "type": "string",
            "description": "Return all violations, or only currently OPEN/active ones (the distress signal buyers usually want).",
            "editor": "select",
            "enum": [
              "all",
              "open"
            ],
            "enumTitles": [
              "All violations",
              "Open / active only"
            ],
            "default": "all",
            "prefill": "open"
          },
          "maxRecordsPerCity": {
            "title": "Max records per city",
            "type": "integer",
            "description": "Cap records per city, newest first (leave empty to pull the full registry).",
            "minimum": 1,
            "nullable": true,
            "default": 100,
            "prefill": 25
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--leie-exclusion-screening",
      "title": "HHS-OIG LEIE Exclusion Screening",
      "description": "Use to find review candidates in the HHS-OIG LEIE by name, valid NPI, state, specialty, or exclusion type. Do not treat a candidate match as identity adjudication or use this tool for facility licensing. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without changing the source list.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "screen checks people/entities and returns evidence records; filter pulls source LEIE records with provenance.",
            "editor": "select",
            "enum": [
              "screen",
              "filter"
            ],
            "enumTitles": [
              "Screen a list",
              "Filter the LEIE list"
            ],
            "default": "screen",
            "prefill": "filter"
          },
          "screenList": {
            "title": "People / entities to screen",
            "type": "array",
            "description": "For screen mode. Each item: { \"name\": \"JOHN SMITH\" or \"ACME HOME HEALTH\", \"npi\": \"1234567893\" (optional valid test NPI), \"state\": \"NC\" (optional), \"ref\": \"your-id\" (optional) }. Name-only matches are normalized exact-name candidates, constrained by state when supplied, and require human review.",
            "editor": "json",
            "default": [],
            "maxItems": 500,
            "items": {
              "type": "object",
              "properties": {
                "name": {
                  "title": "Name",
                  "type": "string",
                  "minLength": 1,
                  "description": "Person or entity name. Required when NPI is omitted."
                },
                "npi": {
                  "title": "NPI",
                  "type": "string",
                  "pattern": "^[0-9]{10}$",
                  "description": "Optional 10-digit NPI. The Actor also validates the NPI check digit and rejects invalid values."
                },
                "state": {
                  "title": "State",
                  "type": "string",
                  "pattern": "^[A-Za-z]{2}$",
                  "description": "Optional two-letter state used to constrain name candidates."
                },
                "ref": {
                  "title": "Caller reference",
                  "type": "string",
                  "description": "Optional caller reference returned with the evidence record."
                }
              }
            }
          },
          "enrichNpi": {
            "title": "Resolve identity with CMS NPPES",
            "type": "boolean",
            "description": "Look up matched LEIE NPIs or a caller-supplied NPI in the official CMS registry and return explainable correlation signals. NPI status is not licensure or eligibility.",
            "default": true
          },
          "maxNpiLookups": {
            "title": "Maximum CMS NPI lookups",
            "type": "integer",
            "description": "Caps NPPES calls per run. Remaining rows still receive LEIE results and show that enrichment was skipped.",
            "minimum": 0,
            "maximum": 25,
            "default": 10
          },
          "includeSam": {
            "title": "Also check SAM.gov active exclusions",
            "type": "boolean",
            "description": "Opt in to the official GSA SAM.gov Exclusions API. Requires your own public SAM.gov API key.",
            "default": false
          },
          "samApiKey": {
            "title": "SAM.gov API key",
            "type": "string",
            "description": "Caller-supplied SAM.gov public API key. Required only when includeSam is enabled; never returned in output.",
            "editor": "textfield",
            "isSecret": true
          },
          "maxSamQueries": {
            "title": "Maximum SAM.gov queries",
            "type": "integer",
            "description": "Caps SAM.gov calls per run to respect the official API's role-dependent rate limits.",
            "minimum": 0,
            "maximum": 10,
            "default": 10
          },
          "state": {
            "title": "State (filter mode)",
            "type": "string",
            "description": "Two-letter state code, for example TX.",
            "editor": "textfield",
            "nullable": true,
            "prefill": "FL"
          },
          "specialty": {
            "title": "Specialty (filter mode)",
            "type": "string",
            "description": "Substring match on specialty, such as NURSING, PHARMACY, or HOME HEALTH.",
            "editor": "textfield",
            "nullable": true
          },
          "exclusionType": {
            "title": "Exclusion type (filter mode)",
            "type": "string",
            "description": "OIG exclusion authority code, such as 1128a1 or 1128b5.",
            "editor": "textfield",
            "nullable": true
          },
          "maxRecords": {
            "title": "Max records (filter mode)",
            "type": "integer",
            "description": "Caps LEIE records returned in filter mode.",
            "minimum": 1,
            "nullable": true,
            "default": 100,
            "prefill": 50
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--restaurant-inspection-scores",
      "title": "Restaurant Inspection Scores",
      "description": "Use for official restaurant inspection scores, violations, and facility-history research in supported jurisdictions. Do not use for general property-code violations or childcare inspections. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "cities": {
            "title": "Jurisdictions",
            "type": "array",
            "description": "Official inspection feeds to query. Every output and run receipt discloses source age, row grain, and source status.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "nyc",
                "chicago",
                "austin",
                "cincinnati",
                "boulder",
                "montgomery",
                "king_county"
              ],
              "enumTitles": [
                "New York City, NY",
                "Chicago, IL",
                "Austin, TX",
                "Cincinnati, OH",
                "Boulder County, CO",
                "Montgomery County, MD",
                "King County, WA"
              ]
            },
            "default": [
              "chicago"
            ],
            "prefill": [
              "chicago"
            ]
          },
          "businessNameContains": {
            "title": "Business name contains",
            "type": "string",
            "description": "Case-insensitive establishment-name substring. Applied server-side where supported and verified client-side for every source.",
            "editor": "textfield",
            "nullable": true
          },
          "resultContains": {
            "title": "Result or grade contains",
            "type": "string",
            "description": "Case-insensitive substring on the jurisdiction's published result or grade. A source with no such field returns no matches; scores are never guessed into grades.",
            "editor": "textfield",
            "nullable": true
          },
          "since": {
            "title": "Inspections since",
            "type": "string",
            "description": "Inclusive ISO date YYYY-MM-DD.",
            "editor": "textfield",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "nullable": true
          },
          "until": {
            "title": "Inspections through",
            "type": "string",
            "description": "Inclusive ISO date YYYY-MM-DD.",
            "editor": "textfield",
            "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
            "nullable": true
          },
          "maxRecordsPerCity": {
            "title": "Maximum records per jurisdiction",
            "type": "integer",
            "description": "Bounded newest-first query limit per jurisdiction (1-5,000).",
            "minimum": 1,
            "maximum": 5000,
            "default": 100,
            "prefill": 25
          },
          "socrataAppToken": {
            "title": "Socrata application token",
            "type": "string",
            "description": "Optional caller-owned app token for a dedicated Socrata rate-limit pool. It is sent only as X-App-Token and never returned.",
            "editor": "textfield",
            "isSecret": true,
            "nullable": true
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--multistate-childcare-licensing",
      "title": "Multi-State Childcare Licensing",
      "description": "Use for cross-state childcare licensing, inspection, and deficiency research across supported states. For Texas-only operation, inspection, or deficiency filters, use texas-childcare-licensing instead. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "states": {
            "title": "States",
            "type": "array",
            "description": "Which states to pull. Available: NY (16.8k facilities), NJ (4.2k), CO (4.5k), CT (16.2k + inspections), DE (1.2k + inspections & deficiencies). Leave empty for all five.",
            "editor": "stringList",
            "prefill": [
              "CT"
            ],
            "nullable": true,
            "default": [
              "CT"
            ]
          },
          "county": {
            "title": "County",
            "type": "string",
            "description": "Filter to one county (e.g. 'Sussex', 'Oneida', 'Boulder'). Applied server-side where the state feed carries a county column; CT publishes no county so a county filter returns no CT rows. Leave empty for statewide.",
            "editor": "textfield",
            "nullable": true
          },
          "licenseStatus": {
            "title": "License status",
            "type": "string",
            "description": "Case-insensitive substring match on the facility's license status (e.g. 'ACTIVE', 'License', 'Licensed'). Leave empty for all statuses.",
            "editor": "textfield",
            "nullable": true
          },
          "includeInspections": {
            "title": "Include inspection / deficiency data",
            "type": "boolean",
            "description": "When on, fetch each state's inspection/deficiency feed and merge per-facility inspection_count and (DE) deficiency_count + top cited regulations. Turn off for a faster, licensing-only pull. Only affects CT and DE.",
            "default": false,
            "prefill": false
          },
          "minDeficiencies": {
            "title": "Min cited deficiencies",
            "type": "integer",
            "description": "Only return facilities with at least this many cited deficiencies (compliance screening). Deficiency counts are published only by Delaware; other states have none, so this filter excludes them.",
            "minimum": 0,
            "nullable": true
          },
          "maxRecordsPerState": {
            "title": "Max records per state",
            "type": "integer",
            "description": "Cap the number of facility records pulled from each state (leave empty for the full registry).",
            "minimum": 1,
            "nullable": true,
            "default": 50,
            "prefill": 25
          },
          "maxInspectionRows": {
            "title": "Max inspection rows per state",
            "type": "integer",
            "description": "Cap the inspection/deficiency rows fetched per state before building the per-facility compliance lookup (leave empty to read the full feed; CT ships ~97k inspection rows).",
            "minimum": 1,
            "nullable": true,
            "default": 200,
            "prefill": 50
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--texas-childcare-licensing",
      "title": "Texas Childcare Licensing",
      "description": "Use for Texas-only childcare operation, inspection, and deficiency evidence. For comparable research spanning multiple supported states, use multistate-childcare-licensing instead. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "county": {
            "title": "County",
            "type": "string",
            "description": "Filter to one Texas county (e.g. HARRIS, DALLAS, TRAVIS). Leave empty for statewide.",
            "editor": "textfield",
            "nullable": true,
            "prefill": "Travis"
          },
          "operationType": {
            "title": "Operation type",
            "type": "string",
            "description": "e.g. 'Licensed Center', 'Licensed Child-Care Home', 'Listed Family Home'. Leave empty for all.",
            "editor": "textfield",
            "nullable": true
          },
          "minHighDeficiencies": {
            "title": "Min high-severity deficiencies",
            "type": "integer",
            "description": "Only return operations with at least this many high-severity deficiencies (compliance screening).",
            "minimum": 0,
            "nullable": true
          },
          "maxRecords": {
            "title": "Max records",
            "type": "integer",
            "description": "Cap total records (leave empty for the full registry, ~100k).",
            "minimum": 1,
            "nullable": true,
            "default": 100,
            "prefill": 25
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--epa-echo-facility-compliance",
      "title": "EPA ECHO Facility Compliance Evidence",
      "description": "Use for a bounded EPA ECHO facility query that preserves published identity, compliance, inspection, and enforcement evidence while keeping environmental safety UNKNOWN. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "description": "Provide a 12-digit EPA FRS Registry ID, or a bounded facility name/address query. Exact FRS ID is the strongest selector.",
        "properties": {
          "facilityId": {
            "title": "EPA FRS Registry ID",
            "type": "string",
            "description": "Exact 12-digit Facility Registry Service ID, for example 110000367567.",
            "pattern": "^[0-9]{12}$"
          },
          "facilityName": {
            "title": "Facility name",
            "type": "string",
            "description": "Published facility name. Add location fields to reduce ambiguity.",
            "minLength": 3,
            "maxLength": 200
          },
          "nameMatchMode": {
            "title": "Name matching",
            "type": "string",
            "description": "Exact is the responsible default. Contains is discovery-only and may require review.",
            "enum": [
              "exact",
              "contains",
              "begins"
            ],
            "default": "exact"
          },
          "streetAddress": {
            "title": "Street address",
            "type": "string",
            "description": "Full or partial published street address. Address-only searches also require city, state, or ZIP.",
            "minLength": 5,
            "maxLength": 200
          },
          "city": {
            "title": "City",
            "type": "string",
            "maxLength": 100
          },
          "state": {
            "title": "State",
            "type": "string",
            "pattern": "^[A-Za-z]{2}$"
          },
          "zip": {
            "title": "ZIP code",
            "type": "string",
            "pattern": "^[0-9]{5}(-[0-9]{4})?$"
          },
          "maxCandidates": {
            "title": "Maximum candidates",
            "type": "integer",
            "minimum": 1,
            "maximum": 10,
            "default": 5
          },
          "includeProgramDetails": {
            "title": "Retrieve program details",
            "type": "boolean",
            "default": true
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "civicdataforge--norway-company-evidence",
      "title": "Norway Company & Supplier Evidence",
      "description": "Use for exact nine-digit Norwegian organisation-number evidence or bounded company-name research from Brønnøysundregistrene. NLOD 2.0 permits commercial reuse with attribution and change disclosure, but buyer-specific privacy and lawful-basis review may still be required for personal-data-bearing records; this Actor omits roles, contacts, and street address lines and never issues a KYC, procurement, sanctions, or eligibility verdict. Starts the bound Apify Actor with the caller's APIFY_TOKEN, may consume Apify usage, waits up to 60 seconds, and returns at most 1,000 source-linked rows without modifying government records.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "queries": {
            "title": "Company queries",
            "type": "array",
            "description": "One to 25 evidence queries. Prefer the exact nine-digit organisation number. A supplied name alongside an organisation number is returned as a consistency check, never as a replacement identifier.",
            "editor": "json",
            "minItems": 1,
            "maxItems": 25,
            "prefill": [
              {
                "reference": "supplier-no-001",
                "organisationNumber": "974760673",
                "purpose": "SUPPLIER_ONBOARDING_EVIDENCE"
              }
            ],
            "items": {
              "type": "object",
              "properties": {
                "reference": {
                  "title": "Caller reference",
                  "type": "string",
                  "maxLength": 200,
                  "description": "Optional non-sensitive caller reference bound into the evidence receipt."
                },
                "organisationNumber": {
                  "title": "Organisation number",
                  "type": "string",
                  "description": "Exact nine-digit Norwegian organisation number."
                },
                "name": {
                  "title": "Entity name",
                  "type": "string",
                  "minLength": 2,
                  "maxLength": 180,
                  "description": "Bounded official name search. The API's published candidates are returned; ambiguous candidates are not silently resolved."
                },
                "purpose": {
                  "title": "Evidence purpose",
                  "type": "string",
                  "description": "Caller-declared workflow context recorded in the receipt; it never changes source facts or produces an eligibility verdict.",
                  "editor": "select",
                  "enum": [
                    "ENTITY_VERIFICATION",
                    "SUPPLIER_ONBOARDING_EVIDENCE",
                    "PROCUREMENT_RESEARCH",
                    "OTHER"
                  ],
                  "enumTitles": [
                    "Entity verification",
                    "Supplier onboarding evidence",
                    "Procurement research",
                    "Other evidence purpose"
                  ]
                },
                "previousDecisionReceiptHash": {
                  "title": "Previous decision receipt",
                  "type": "string",
                  "description": "Optional prior SHA-256 decision receipt used only for deterministic change classification."
                },
                "previousRecordReceipts": {
                  "title": "Previous record receipts",
                  "type": "array",
                  "editor": "stringList",
                  "maxItems": 50,
                  "description": "Optional prior record receipt hashes used only for deterministic added, removed, or unchanged classification.",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "required": [
                "purpose"
              ]
            }
          },
          "maxRecords": {
            "title": "Maximum returned name candidates",
            "type": "integer",
            "editor": "number",
            "minimum": 1,
            "maximum": 50,
            "default": 10,
            "description": "Name searches request one additional record internally so truncation is detected and disclosed."
          },
          "batchReference": {
            "title": "Batch reference",
            "type": "string",
            "editor": "textfield",
            "maxLength": 200,
            "description": "Optional non-sensitive batch reference bound into the shared batch receipt."
          }
        },
        "required": [
          "queries"
        ]
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true
      }
    },
    {
      "name": "get-actor-run",
      "title": "Get Actor run",
      "description": "Read the status, storage identifiers, summary, and next step for an Actor run. A positive waitSecs value waits for a terminal state within the documented cap.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "runId"
        ],
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1,
            "description": "Actor run ID."
          },
          "waitSecs": {
            "type": "integer",
            "minimum": 0,
            "maximum": 45,
            "default": 30,
            "description": "Seconds to wait for a terminal state."
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get-dataset-items",
      "title": "Get dataset items",
      "description": "Read result rows from a caller-owned Apify dataset, with bounded pagination and optional field selection.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "datasetId"
        ],
        "properties": {
          "datasetId": {
            "type": "string",
            "minLength": 1,
            "description": "Dataset ID or username~dataset-name."
          },
          "clean": {
            "type": "boolean"
          },
          "offset": {
            "type": "number"
          },
          "limit": {
            "type": "integer",
            "minimum": 1
          },
          "fields": {
            "type": "string"
          },
          "omit": {
            "type": "string"
          },
          "desc": {
            "type": "boolean"
          },
          "flatten": {
            "type": "string"
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "get-key-value-store-record",
      "title": "Get key-value store record",
      "description": "Read one exact record from a caller-owned Apify key-value store.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "keyValueStoreId",
          "recordKey"
        ],
        "properties": {
          "keyValueStoreId": {
            "type": "string",
            "minLength": 1,
            "description": "Key-value store ID or username~store-name."
          },
          "recordKey": {
            "type": "string",
            "minLength": 1,
            "description": "Exact record key."
          }
        }
      },
      "annotations": {
        "readOnlyHint": true,
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false
      }
    },
    {
      "name": "abort-actor-run",
      "title": "Abort Actor run",
      "description": "Abort a caller-owned Actor run that is starting or running. Terminal runs are unchanged.",
      "inputSchema": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "runId"
        ],
        "properties": {
          "runId": {
            "type": "string",
            "minLength": 1,
            "description": "Actor run ID to abort."
          },
          "gracefully": {
            "type": "boolean",
            "description": "Request a graceful abort with the provider timeout."
          }
        }
      },
      "annotations": {
        "readOnlyHint": false,
        "destructiveHint": true,
        "idempotentHint": true,
        "openWorldHint": false
      }
    }
  ],
  "resources": [],
  "prompts": []
}
