---
title: "Company profile → applicable obligations + 1–10 risk score"
method: POST
path: "/assess"
---

# Company profile → applicable obligations + 1–10 risk score

`POST /assess`

## Request

- Base URL: `https://ai-law-tracker.com/api/v1`
- URL: `https://ai-law-tracker.com/api/v1/assess`
- Auth: one of:
  - none
  - API key in header `X-API-Key`
  - HTTP bearer

The compliance-report engine (deterministic, no LLM — cannot hallucinate) as an API. POST a business profile; get the applicable AI-law obligations plus a reproducible 1–10 risk score with a named factor breakdown. state + sector are required. Paid feature (Pro+); lower tiers receive a preview (risk band + counts + one sample obligation; factor breakdown withheld).

## Request body

- object
  - `state` string, required: US state slug (e.g. california).
  - `sector` string, required: Sector slug (see /sectors).
  - `aiUse` string[]
  - `ai_decision_impact` 'hiring_firing' | 'credit_insurance' | 'healthcare' | 'housing' | 'internal_only' | 'not_sure'
  - `countries` string[]: EU/global country slugs also operated in/served.
  - `bias_audit` 'recent' | 'old' | 'never' | 'unknown'
  - `ai_policy` 'formal' | 'informal' | 'none' | 'developing'
  - `ai_source` 'custom' | 'third_party' | 'embedded' | 'combination' | 'not_sure'
  - `size` string

## Response `200`

The assessment.

- object
  - `data` Assessment: A company-profile applicability + risk assessment.
    - `risk` Risk: Deterministic 1–10 risk score (same inputs → same score; no model).
      - `score` integer
      - `level` 'Low' | 'Medium' | 'High' | 'Critical'
      - `factors` string[]: Named contributions to the score (full result only; withheld in a preview).
    - `applicable_law_count` integer
    - `jurisdictions` string[]
    - `obligations` Obligation[]
      - `law` string
      - `jurisdiction` string
      - `layer` 'state' | 'federal' | 'landscape' | 'country': “landscape” = a notable law that may not apply to you (out-of-state); see may_not_apply.
      - `applies_because` string, nullable: Why this obligation was surfaced for the given context.
      - `obligation` string, nullable: The plain-English duty ("what must I do").
      - `deadline` string, nullable: Free-text effective/compliance date verbatim from the source ("by when").
      - `penalty` string, nullable
      - `status` string, nullable
      - `citation` string, nullable
      - `government_body` string, nullable
      - `may_not_apply` boolean: true when the law binds another jurisdiction and may not apply to the caller.
      - `source_url` string, nullable: Primary/official source for this obligation.
      - `source_tier` 'primary' | 'secondary' | 'unverified': Grounding tier of source_url.
    - `no_law` object[]
      - `jurisdiction` string
      - `note` string
      - `layer` string
    - `unmapped_sectors` string[]

## Other responses

- `400`: Missing state/sector or malformed body
- `429`: Rate limited

---

[API](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api.md) · [All operations](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ai-law-tracker/apis/ai-law-tracker-public-laws-api/revisions/25403268a853?raw)
