> ## Documentation Index
> Fetch the complete documentation index at: https://docs.effectiveai.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Run filing checks

> Start pre-review, inspect each check, and resolve findings on your filing.

Pre-review runs every global and organization check in the [check catalog](/guides/managed-filings/checks).
JEV first assesses each check against the captured filing metadata. A clearly inapplicable check is skipped without creating a check session. Applicable or uncertain checks get an agent session to inspect the document evidence. If JEV is unavailable or its input is too large, the check still runs.
Problems become [filing or document comments](/guides/managed-filings/comments).

Use an ordinary user API key. Starting requires filing Editor access and permission
to create agent sessions and available spending allowance. Reading progress requires filing Reader access. Imported
filings are read-only and cannot start pre-review.

## Start pre-review

```http theme={null}
POST /api/v2/insurance/managed-filings/5d4a19d0-8c58-4efc-a87f-58211b72e9a1/pre-reviews
Content-Type: application/json

{}
```

The response is `202 Accepted`. This means execution was accepted, not that the
checks passed. The `Location` header gives the polling URL.

```json theme={null}
{
  "filingId": "5d4a19d0-8c58-4efc-a87f-58211b72e9a1",
  "sessionId": "c79d3b77-d6ac-44ae-ad96-f10dced78d20",
  "sessionUrl": "https://your-tenant.effectiveai.app/s/c79d3b77-d6ac-44ae-ad96-f10dced78d20",
  "status": "queued",
  "createdAt": "2026-10-08T19:00:00.000Z",
  "completedAt": null,
  "checks": [
    {
      "checkId": "618d091b-31ef-4578-9eac-f8095eb66901",
      "versionId": "cbaf7be9-26af-433d-adff-3df86d602674",
      "name": "Filing identity consistency",
      "status": "queued",
      "summary": null,
      "commentIds": [],
      "sessionId": null,
      "sessionUrl": null
    }
  ]
}
```

The example shows a catalog containing one check. The actual response includes
every check captured for the run. The coordinating session is created asynchronously;
its link may not open while setup is still queued. Sessions are initially restricted
to the initiating user. Filing readers can inspect API progress without access to
the agent transcripts.

## Read individual results

To track progress, send a GET request to the URL returned in the `Location`
response header every 60 seconds. If the run and individual check statuses are
unchanged, increase the interval to 2 minutes. Stop when the overall run status
is `completed` or `failed`.

```http theme={null}
GET /api/v2/insurance/managed-filings/5d4a19d0-8c58-4efc-a87f-58211b72e9a1/pre-reviews/c79d3b77-d6ac-44ae-ad96-f10dced78d20
```

The response has the same shape. A completed check with findings looks like this
inside `checks`:

```json theme={null}
{
  "checkId": "618d091b-31ef-4578-9eac-f8095eb66901",
  "versionId": "cbaf7be9-26af-433d-adff-3df86d602674",
  "name": "Filing identity consistency",
  "status": "findings",
  "summary": "The insurer named on the proposed form differs from the filing details.",
  "commentIds": ["f2e8c99a-d840-4e62-a6df-207042c840fe"],
  "sessionId": "1d3a05c7-6589-4f12-9718-d5b4587c66df",
  "sessionUrl": "https://your-tenant.effectiveai.app/s/1d3a05c7-6589-4f12-9718-d5b4587c66df"
}
```

| Check status | Meaning |
| - | - |
| `queued` | Waiting for a worker or agent capacity. |
| `assessing` | JEV is assessing applicability; no check session exists yet. |
| `running` | A check agent is inspecting evidence. |
| `passed` | The check finished without finding an issue. |
| `findings` | The check posted comments. |
| `not_applicable` | The check does not apply; `summary` explains why. |
| `failed` | Execution did not complete. This is not a passing result. |

The overall status becomes `completed` when all checks finish, including checks
with findings or those that do not apply. It becomes `failed` if any check fails.
A failed execution still returns HTTP `200` when you read its status. Other checks
continue after an individual failure. Checks are dispatched independently, without a per-review concurrency cap;
checks wait up to one hour for shared agent capacity, then have 30 minutes after dispatch to return a result.

Read the filing's comments to find the returned `commentIds`, reply, or mark a
discussion resolved. Resolving a comment does not rewrite the original check result.
If comment publication fails partway through, posted comments remain visible and
the check reports `failed`. Each posted comment and its ID in the check result
are saved together. Inspect these comments before starting again to avoid duplicates.

## Inputs and repeat requests

* Each execution captures filing details, items, primary documents, additional
  attachments, uploaded files without items, and published check versions.
* Document references use immutable versions. Capture spans multiple reads; it
  is not an atomic revision of the whole filing. Finish preparing the filing
  before starting a review.
* Editing a filing or check does not cancel or restart an active execution. Start
  another review after it finishes to check your changes.
* A start request while an execution is active returns that execution. Concurrent
  starts may return `409`; repeat the request to recover the active execution.
* After completion, another start creates a new execution and can create additional
  comments. There is no `Idempotency-Key` contract for completed starts. If you
  already received `sessionId`, poll it instead of repeating POST.
* A dispatch `503` retains the queued execution. Repeat POST to dispatch that same
  execution. No review or comment publication is automatically repeated after a
  terminal failure.

Check agents use the standard agent tools. Their task instructions ask them to
inspect the captured document versions and return structured findings for the server
to validate and publish as comments. If required evidence is unavailable, the check
should report `failed` rather than `passed`.

The current limits are 100 checks, 500 filing items, 1000 document references, and
768 KiB of encoded agent task data (including a reservation for the largest check instructions). Exceeding a limit rejects the request without starting a
partial review. A catalog with no checks is also rejected. Every included document
must be readable and have an immutable version.

These checks produce review assistance and comments. They do not establish a
regulatory approval or gate SERFF staging in this version.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.