Skip to content

Developers

The policy library,as an API.

Everything in Prisym is available over REST: policies and their versions, full policy text, redline diffs, coverage by plan, hybrid search, and a change feed since any timestamp. Authenticate with a bearer token and build.

Request
curl https://api.policy9.com/v1/policies \
  -H "Authorization: Bearer $PRISYM_TOKEN" \
  -G --data-urlencode "payer=anthem" \
     --data-urlencode "code=78815" \
     --data-urlencode "as_of=2026-03-14"
Response200 · 84 ms
{
  "data": [
    {
      "policy_id": "anthem-rad-00072",
      "payer": "Anthem BCBS",
      "policy_number": "RAD.00072",
      "title": "PSMA PET Imaging",
      "category": "medical",
      "status": "active",
      "version": {
        "version_id": "v7",
        "effective_date": "2026-02-01",
        "revised_date": "2026-01-18",
        "superseded_at": null,
        "sha256": "9f2c…e41a",
        "extraction": {
          "confidence": 0.94,
          "codes": ["78815", "A9595"]
        }
      },
      "coverage": "covered_with_criteria"
    }
  ],
  "as_of": "2026-03-14",
  "next_cursor": null
}

Endpoints

A small surface that covers the whole product.

Base URL https://api.policy9.com. All responses are JSON, and every version is addressable by a stable identifier.

Policies and versions

  • GET/v1/policies?payer=&state=&lob=&category=&code=&as_of=

    Filtered catalog. as_of returns the version in effect on that date.

  • GET/v1/policies/{id}

    Metadata, extracted criteria and codes, and the full version history.

  • GET/v1/policies/{id}/versions/{vid}

    A single version: full policy text, extracted criteria, and its effective, revised, and superseded dates.

  • GET/v1/policies/{id}/diff?from={vid}&to={vid}

    Text and code diff between any two versions.

Search and coverage

  • GET/v1/search?q=&filters=&mode=keyword|semantic|hybrid

    Faceted search over the library; hybrid mode combines keyword and vector ranking.

  • GET/v1/plans

    Plans, lines of business, states, and the policy categories each one carries.

  • GET/v1/plans/{id}/coverage

    Per-plan coverage status by policy category, including known gaps.

  • POST/v1/ask

    Question answering over the library, with the policy passages each answer rests on.

Changes

  • GET/v1/changes?since=

    Feed of new and revised policies with summaries, materiality scores, and evidence.

  • GET/v1/changes/{id}

    One change event in full: version ids, structured summary, and the exact old and new text.

Good to know

The details that save a support ticket.

  • Authentication

    Requests carry a bearer token issued per organization. Tokens are scoped to the payers and policy categories in your plan and can be rotated from the app.

  • Point-in-time by default

    Any catalog query accepts as_of. The response is the version whose effective date is on or before that date and that had not yet been superseded.

  • Versions are immutable

    A version id always returns the same policy text and the same checksum. Store policy and version identifiers on your side and you can reproduce any answer later.

  • Change feed is idempotent

    Poll /v1/changes?since= with your last cursor. Each change event carries the version ids, the summary, the score, and the exact old and new text.

Ready to build on the policy library?

Tell us what you are building. We will set up a token and a sandbox scoped to the payers you care about.