---
title: "POST /api/rpc/queryItems"
method: POST
path: "/api/rpc/queryItems"
tags: ["items"]
---

# POST /api/rpc/queryItems

`POST /api/rpc/queryItems`

## Request

- Base URL: `https://21risk.com`
- URL: `https://21risk.com/api/rpc/queryItems`
- Auth: OAuth 2 (client credentials, token URL `/api/v1/oauth/token`)

Query items (actions/risk improvements) by board ID or slug, with optional filters and pagination. The board filter uses risk type IDs and names for compliance 1 boards, and board IDs and names for newer board types. Synthetic Closed compliance items are excluded unless a status filter is supplied.

## Request body

- object
  - `tenant` unknown, required
  - `query` string
  - `boardId` string
  - `boardSlug` string
  - `status` string: Operands must represent integer IDs, such as "1,2" or "!3". Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `statusGroup` string: Valid operands: open, closed, ignore. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `compliance` string: Valid operands: awaitingReview, closed, compliant, excellent, missing, nonCompliant, nonCompliantWithPlan, notAnswered, notApplicable, notScorable. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `sync` string: Valid operands: not-applicable, no-integration, grc-synced, other-integration. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `source` string: Valid operands: self-inspection, GRC, other, IF, Codan, Paragon, Swiss Re, Chubb, Zürich, Tryg, Allianz, AIG, Marsh, Willis Towers Watson, Aon, Howden. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `claimsLine` string: Valid operands: liability, property. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `damageType` string: Operands must be strings. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty. Use the facet query to discover valid values.
  - `category` string: Operands must represent integer IDs, such as "1,2" or "!3". Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `responsible` string: Operands must be user IDs, or @me for the signed-in user, such as "@me" or "!@me". Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty. Use the facet query to discover valid values.
  - `tags` string: Operands must be strings. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty. Use the facet query to discover valid values.
  - `site` string: Operands must be strings. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty. Use the facet query to discover valid values.
  - `board` string: Operands must be strings. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty. Use the facet query to discover valid values.
  - `type` string: Valid operands: f, q, e, c, l, p. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `isSubtask` string: Operands must be true or false, such as "true" or "!false". Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `name` string: Plain text means contains. Use operators: contains, equal, startswith, endswith. Prefix with ! to negate.
  - `dateOfLoss` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `worstCaseEstimate` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `deductible` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `netPaid` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `grossPaid` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `grossOutstanding` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `netIncurred` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `externalId` string: Plain text means contains. Use operators: contains, equal, startswith, endswith. Prefix with ! to negate.
  - `costEstimate` string: Exact match (=42), comparisons (>42, <=42), or ranges (10..20). Use * for any value, !* for empty.
  - `dueDate` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `date` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `createdDate` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `verifiedAt` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `expiresAt` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `completedDate` string: ISO dates (2024-01-15), periods (2024, 2024-01), comparisons (>=2024, <2024-06), ranges (2024-01-01..2024-12-31), or relative dates (@today, @today-7d). Units: d, w, m, y. Use * for any date, !* for empty.
  - `includes` string[]: Only include records whose IDs are in this list.
  - `excludes` string[]: Exclude records whose IDs are in this list.
  - `after` string: Cursor-based pagination: return results after this cursor. Use pageInfo.endCursor from the previous page.
  - `before` string: Cursor-based pagination: return results before this cursor. Use pageInfo.startCursor from the current/previous page.
  - `first` union
    - integer
    - 'all'
  - `last` integer: Cursor-based pagination: number of results to return before the before cursor. Use for backward pagination.
  - `sort` 'status' | 'statusGroup' | 'compliance' | 'level' | 'name' | 'source' | 'claimsLine' | 'damageType' | 'dateOfLoss' | 'worstCaseEstimate' | 'deductible' | 'netPaid' | 'grossPaid' | 'grossOutstanding' | 'netIncurred' | 'externalId' | 'costEstimate' | 'responsible' | 'dueDate' | 'tags' | 'site' | 'board' | 'date' | 'createdDate' | 'verifiedAt' | 'expiresAt' | 'completedDate' | 'leBefore' | 'leAfter'
  - `direction` 'asc' | 'desc'

## Response `200`

Successful response

---

[API](https://skmtc.dev/21risk/apis/21risk-api.md) · [All operations](https://skmtc.dev/21risk/apis/21risk-api/llms.txt) · [OpenAPI document](https://skmtc.dev/21risk/apis/21risk-api/revisions/273a727dfd49?raw)
