Developer Reference/api/v1 · v1.0

    The HHIP spine, exposed as a tenant-scoped read API.

    Five JSON endpoints. Per-tenant API keys. Server-enforced scopes and rate limits. Every call logged to api_usagefor full audit replay.

    Authentication

    Bearer token in the Authorization header. Tokens always start with isei_pk_live_. Issued by Mohala platform admins; only the SHA-256 hash is stored.

    Scopes

    Each key carries an explicit allowlist. A request to an endpoint outside its scope returns 403 scope_forbidden — no fallback, no silent downgrade.

    Rate limits

    Per-key quotas measured in requests per minute. Returned via X-RateLimit-Limit and X-RateLimit-Remaining; exceeded calls return 429.

    Endpoints

    GET /api/v1

    PathRequired scopeSource tableDefault limit
    /network-adequacynetwork_adequacy:readprovider_reconciliation100 (max 500)
    /legislationlegislation:readbills_watchlist100 (max 500)
    /grant-roigrant_roi:readgrant_outcomes100 (max 500)
    /workforceworkforce:readworkforce_supply100 (max 500)
    /evidence-chainsevidence:readaudit_evidence_chains100 (max 500)

    All endpoints accept an optional ?limit=query param (1–500). Results are tenant-scoped server-side via the API key — you never need to pass a tenant identifier.

    Quickstart

    Your first request

    Pick an endpoint — the snippet auto-fills with your most recently issued active key prefix when you're signed in. Replace the placeholder with the full secret you saved at issuance.

    Endpoint
    no key found · sample token shown
    curl -sS "https://afkshgruekvvhdfexamk.functions.supabase.co/api-v1/network-adequacy?limit=25" \
      -H "Authorization: Bearer isei_pk_live_xxxxxxxxxxxxxxxxxxxxxxxx"
    Response schema/network-adequacy · source: provider_reconciliation
    { "data": [ {
    iduuid
    tenant_iduuidalways your tenant
    insurerstring
    quarterstringe.g. 2025Q1
    expected_providersinteger
    reached_providersinteger
    reachability_ratenumber0–1
    qoq_deltanumber | null
    hpsa_overlap_pctnumber | null
    evidence_claim_iduuid | null
    updated_attimestamptz
    } ] }

    Every row also carries an evidence_claim_id when applicable — join against /evidence-chains to get the full sources array for any AI-derived claim.

    Live preview

    Sign in to call /api/v1 with your session token — no API key required. Your tenant scope is resolved server-side.

    200OK

    JSON object with data: [...]. X-RateLimit-Remaining header included.

    401Unauthorized

    Missing, malformed, or unknown Bearer token (must begin with isei_pk_).

    403scope_forbidden

    Key is valid but lacks the required scope for this endpoint.

    429rate_limit_exceeded

    Per-minute quota hit. Retry after the window in Retry-After.

    Ingest watchdog

    Public-data freshness

    Full API reference

    Live status of every public-data feed (enforcement, MRF, HCRIS). Platform admins can re-run any source on demand.

    Loading watchdog…

    Enforcement extraction

    DCCA & AG batch audit

    Each Firecrawl extraction batch records raw vs normalized counts, rows per source_url_hash, and the first offending payload when validation rejects a record (missing source_url_hash, source_document_url, or action_type_normalized).

    Platform admin only — sign in with admin role to inspect ingest batches.

    Provisioning

    Keys are issued by Mohala platform admins, one per tenant.

    Email sdk@isei.is with your tenant, intended scopes, and expected throughput.

    Request access