---
title: "POST /api/rpc/querySites"
method: POST
path: "/api/rpc/querySites"
tags: ["sites"]
---

# POST /api/rpc/querySites

`POST /api/rpc/querySites`

## Request

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

Get all sites in an organization. Every member can look up every site; filter with hasAccess="true" to narrow to the sites the calling user can work with on boards, or boardId to narrow to the sites they can work with on that board. Each row carries the boolean hasAccess. Use with filters and pagination to narrow the results.

## Request body

- object
  - `tenant` unknown, required
  - `query` string
  - `boardId` union
    - string
    - object
      - `type` 'id', required
      - `hasAnyValue` boolean
      - `include` object
        - `operator` 'OR' | 'AND', required
        - `values` object[], required
          - `id` string, required
          - `directOnly` boolean, required
      - `exclude` object
        - `operator` 'OR' | 'AND', required
        - `values` object[], required
          - `id` string, required
          - `directOnly` boolean, required
  - `name` 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.
  - `country` 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.
  - `city` 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.
  - `region` 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.
  - `district` 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.
  - `postcode` 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.
  - `locality` 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.
  - `neighborhood` 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.
  - `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.
  - `insurance` 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.
  - `status` string: Valid operands: active, inactive. Comma-separated values for OR, semicolon for AND. Use ! to exclude, ^ for exact match, * for any value, !* for empty.
  - `groups` 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.
  - `parent` 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.
  - `hasAccess` 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.
  - `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.
  - `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` 'name' | 'country' | 'address' | 'city' | 'region' | 'district' | 'postcode' | 'locality' | 'neighborhood' | 'street' | 'latitude' | 'longitude' | 'createdDate' | 'status' | 'parent'
  - `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)
