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

# Manage filing checks

> Discover shared checks and maintain your organization's Markdown instructions.

A check is a named set of Markdown instructions: when it applies, what to inspect,
what evidence supports a finding, and examples. Global checks are maintained by
Effective. Organization checks are shared with members of your tenant.

These APIs manage definitions. To apply them to a filing, [start pre-review](/guides/managed-filings/pre-review).
Creating or editing a definition does not start execution.

Use an ordinary user API key from the [authentication guide](/getting-started/authentication).
The key identifies your organization. Catalog access does not require a filing ID,
a Mission Control, or access to a particular filing.
Members can read checks. Tenant Admins can create and edit organization checks;
only Effective platform administrators can edit global checks. App, procedure,
record-bot, and subject-scoped credentials are not supported for this organization-wide catalog.

## Find checks

```http theme={null}
GET /api/v2/insurance/managed-filings/checks?limit=1
```

Example `200` response:

```json theme={null}
{
  "items": [
    {
      "id": "618d091b-31ef-4578-9eac-f8095eb66902",
      "name": "Schedule and document agreement",
      "scope": "global",
      "versionId": "4b5782f2-f6d2-407f-b3d2-aaedc755c247",
      "createdAt": "2026-10-07T20:00:00.000Z",
      "updatedAt": "2026-10-07T20:00:00.000Z"
    }
  ],
  "nextCursor": "v1.AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8"
}
```

The list contains global and organization checks, ordered by ID. `limit` defaults
to 50 and accepts 1–200. For the next page, pass the returned `nextCursor` as
`cursor` and keep the same `limit`:

```http theme={null}
GET /api/v2/insurance/managed-filings/checks?limit=1&cursor=v1.AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8
```

The cursor above is illustrative; use the value from your response. Continue until
`nextCursor` is null. Cursors expire after 24 hours; on `400 invalid_cursor`, restart
the list without a cursor. This is a live list: concurrent edits may appear on later pages.

Read a check for its instructions:

```http theme={null}
GET /api/v2/insurance/managed-filings/checks/618d091b-31ef-4578-9eac-f8095eb66902
```

Example `200` response (abbreviated instructions):

```json theme={null}
{
  "id": "618d091b-31ef-4578-9eac-f8095eb66902",
  "name": "Schedule and document agreement",
  "scope": "global",
  "versionId": "4b5782f2-f6d2-407f-b3d2-aaedc755c247",
  "markdown": "## Applicability\nA filing includes schedule items.\n\n## Instructions\nCompare schedule entries with their linked documents. Cite the entry and document for each mismatch.",
  "createdAt": "2026-10-07T20:00:00.000Z",
  "updatedAt": "2026-10-07T20:00:00.000Z"
}
```

## Create an organization check

```http theme={null}
POST /api/v2/insurance/managed-filings/checks
Content-Type: application/json

{
  "name": "Cover letter completeness",
  "markdown": "## Applicability\nA filing includes a cover letter.\n\n## Instructions\nIdentify unresolved placeholders in the cover letter. Cite the document and location.\n\n## Example\nINSERT COMPANY NAME remains in the addressee block."
}
```

Example `201` response:

```json theme={null}
{
  "id": "8df3a238-80c4-4781-ad64-de60cd99e5e1",
  "name": "Cover letter completeness",
  "scope": "organization",
  "versionId": "8c66f622-0a51-4413-a1ca-9d287683d35e",
  "markdown": "## Applicability\nA filing includes a cover letter.\n\n## Instructions\nIdentify unresolved placeholders in the cover letter. Cite the document and location.\n\n## Example\nINSERT COMPANY NAME remains in the addressee block.",
  "createdAt": "2026-10-07T20:00:00.000Z",
  "updatedAt": "2026-10-07T20:00:00.000Z"
}
```

The response's `Location` header identifies the new check. Instructions must contain
text and fit within 64 KiB of UTF-8. The complete JSON request must fit within
512 KiB, including escaping; larger requests return `413 request_too_large`. Names are fixed when created. Scope is assigned
by the server; a customer cannot create a global check.

Create does not support idempotency keys. Do not automatically retry if a timeout
or connection failure leaves the outcome uncertain. Inspect the catalog and read
candidate checks to compare their contents before deciding whether to create again.
This is best-effort: names are not unique, and no request identifier reliably links
a request to its result. Repeating the request can create a duplicate.

## Revise instructions

Read the check, then send its `versionId` as `expectedVersionId`:

```http theme={null}
PATCH /api/v2/insurance/managed-filings/checks/8df3a238-80c4-4781-ad64-de60cd99e5e1
Content-Type: application/json

{
  "expectedVersionId": "8c66f622-0a51-4413-a1ca-9d287683d35e",
  "markdown": "## Applicability\nA filing includes a cover letter.\n\n## Instructions\nIdentify unresolved placeholders and compare the company name with the filing details. Cite both sources for any mismatch."
}
```

Example `200` response:

```json theme={null}
{
  "id": "8df3a238-80c4-4781-ad64-de60cd99e5e1",
  "name": "Cover letter completeness",
  "scope": "organization",
  "versionId": "521b7fd3-2143-4c55-8606-294d9d41827c",
  "markdown": "## Applicability\nA filing includes a cover letter.\n\n## Instructions\nIdentify unresolved placeholders and compare the company name with the filing details. Cite both sources for any mismatch.",
  "createdAt": "2026-10-07T20:00:00.000Z",
  "updatedAt": "2026-10-07T20:05:00.000Z"
}
```

Saving replaces the entire Markdown and publishes immediately. Retain the new
`versionId` for the next edit. If the supplied version is no longer current,
the API returns `409`:

```json theme={null}
{
  "code": "conflict",
  "error": "Resource state conflicts with this request"
}
```

Read the current check, reconcile your changes with its instructions, and retry
using its current `versionId`. After an uncertain PATCH response, first read the
check: if it already contains your intended instructions, no further write is
needed. Otherwise reconcile before retrying; do not blindly replace another edit.

To inspect an earlier revision, pass its version ID:

```http theme={null}
GET /api/v2/insurance/managed-filings/checks/8df3a238-80c4-4781-ad64-de60cd99e5e1?versionId=8c66f622-0a51-4413-a1ca-9d287683d35e
```

The returned `markdown` and `versionId` identify that revision; `updatedAt` still
describes the check's latest publication. A version belonging to a different
check, or an uploaded version that was never published, returns `404`. Store both the check ID and version ID when citing instructions.

If versioned storage cannot be read, the API returns `503 temporarily_unavailable`
with `Retry-After` in seconds. Retry the same read after that delay.

## Write useful instructions

Use sections for applicability, instructions, evidence, findings, examples, and
sources. Describe state and line-of-business conditions in plain language. Cite
authoritative guidance when asserting a regulatory requirement; an example filing
alone does not establish one. Missing evidence should result in a request for
information, not an assumed pass.


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