Search Client Risks

Retrieves a paginated list of risks associated with a specific client.

Supports filtering with PII, sorting, and cursor-based pagination. All additions to
this read contract are optional and backward compatible; an existing {} request
continues to return the same paginated risk collection and existing response fields.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

Unique identifier of the client. Accepts either the client UUID or the client's tenant_id.

Body Params

Request payload containing filters, pagination and sorting options.

Minimum required payload :
{}

Since this is a POST search endpoint, an empty JSON object is accepted.

Filtering

Filters must be passed inside the filter object.

Supported fields include:

  • search — case-insensitive contains search across risk name and risk code
  • id, name (title remains a compatibility alias for name)
  • status, status_id
  • owner.id, owner.name, owner.email
  • treatment
  • department, department_id
  • risk_category, risk_category_id
  • inherent_impact, inherent_likelihood
  • current_impact, current_likelihood
  • target_impact, target_likelihood
  • current_risk, current_risk_label
  • tag
  • program_name — program names (eq:ISO-27001:2022 or ISO-27001:2022); unknown name → 400

Each risk in the response includes objectives[] with program_name (direct and control-mediated mappings; indirect rows set indirect_mapping: true) and top-level programs[{id,name}].

Examples

"filter": {
  "search": "phishing",
  "status_id": "in:1,2",
  "department_id": "eq:3",
  "risk_category_id": "in:2,5",
  "current_impact": "eq:14",
  "treatment": "in:Avoid,Reduce",
  "tag": "in:Quarterly review,Security",
  "program_name": "eq:ISO-27001:2022"
}

Supported status values

Assessed, Assessment in progress, Closed, Needs Remediation, Not Assessed, Remediated

Supported treatment values

Avoid, Reduce, Transfer, Share, Accept

Supported operators

  • eq — exact match
  • in — comma-separated list

Example:

"status": "in:Not Assessed,Assessment in progress"

Pagination

  • page_size default = 50
  • page_size max = 200

Cursor Pagination

  • cursor must be Base64 encoded.

Sorting

Allowed fields:

id, code, name, current_risk, owner.name, status, treatment, department, risk_category

Sorting rules:

  • Ascending → name or +name
  • Descending → -name

Query request for risks with filters, fields, pagination, cursor, and sort

filter
object

Optional risk filters. Existing filters remain supported. Display-oriented additions are:
search (case-insensitive risk name or code), status_id, owner.id, department,
department_id, risk_category, risk_category_id, inherent/current/target impact and
likelihood option IDs, current_risk_label, tag, and program_name.
Use eq for one value and in for multiple values unless otherwise documented.

string

Comma-separated response field list for sparse fieldsets.

int32
1 to 200
string
^[A-Za-z0-9+/=]*$
string
^[+-](id|name|current_risk|owner\.name)(,[+-](id|name|current_risk|owner\.name)){0,99}$

Sort field for the risk query.

Responses

Language
Credentials
Header
URL
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json