---
title: "Update an individual entity's risk level for a service profile."
method: PATCH
path: "/v2/individuals/{entityId}/serviceprofiles/{serviceName}/risk"
tags: ["Individual Risks"]
---

# Update an individual entity's risk level for a service profile.

`PATCH /v2/individuals/{entityId}/serviceprofiles/{serviceName}/risk`

This endpoint allows you to override the calculated risk level for the last completed workflow of an individual entity's service profile.

Note:
- This operation will not trigger a new workflow but will be used in the next workflow execution unless risk factors change or results are invalidated.
- To execute the workflow, use the endpoint `POST /v2/individuals/{entityId}/serviceprofiles/{serviceName}/workflows/{workflowName}/execute`.

## Headers

- `api_key` string, required
- `X-Frankie-CustomerID` string, required
- `X-Frankie-CustomerChildID` string
- `X-Frankie-Channel` string
- `X-Frankie-Username` string

## Request body

- object
  - `comment` Comment
    - `commentId` string — Unique identifier for the comment.
    - `text` string — The text content of the comment.
  - `riskLevel` 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH' | 'UNACCEPTABLE' — The risk level classification: - UNKNOWN: Risk level is not determined. - LOW: Low risk. - MEDIUM: Medium risk. - HIGH: High risk. - UNACCEPTABLE: Risk level is unacceptable.

## Response `200`

OK

- object
  - `requestId` string — The unique request identifier for the API call made.
  - `riskAssessment` RiskAssessment
    - `serviceProfileId` string, required — Unique identifier of the Service Profile.
    - `riskAssessmentId` string — Unique identifier of the risk assessment.
    - `workflowId` string, required — Unique identifier of the workflow.
    - `workflowExecutionId` string, required — Unique identifier of the workflow execution.
    - `entityId` string, required — Unique identifier of the entity being assessed.
    - `schemaVersion` integer — Version of the risk assessment schema.
    - `createdAt` string, date-time — Timestamp when the risk assessment was created.
    - `updatedAt` string, date-time — Timestamp when the risk assessment was last updated.
    - `updatedBy` string — Identifier of the user or system that updated this assessment.
    - `updatedRequestId` string — Identifier of the request that updated this assessment.
    - `workflowRiskScore` number — Risk score calculated for the workflow.
    - `workflowRiskLevel` 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH' | 'UNACCEPTABLE' — The risk level classification: - UNKNOWN: Risk level is not determined. - LOW: Low risk. - MEDIUM: Medium risk. - HIGH: High risk. - UNACCEPTABLE: Risk level is unacceptable.
    - `riskScore` number — Risk score calculated for the entity.
    - `riskLevel` 'UNKNOWN' | 'LOW' | 'MEDIUM' | 'HIGH' | 'UNACCEPTABLE' — The risk level classification: - UNKNOWN: Risk level is not determined. - LOW: Low risk. - MEDIUM: Medium risk. - HIGH: High risk. - UNACCEPTABLE: Risk level is unacceptable.
    - `isOutdated` boolean — Indicates whether the assessment is out of date, either due to manual updates or changes to risk factors that were assessed.
    - `riskFactors` RiskFactor[] — List of risk factors considered in this assessment.
      - `riskFactorId` string — Unique identifier of the risk factor.
      - `factor` string — Name of the Frankie risk factor.
      - `value` string — Value assigned to the risk factor.
      - `score` number — Risk score assigned to the factor (based on customer configuration).
      - `description` string — Description of the risk factor.
      - `workflowExecutionId` string — Unique identifier of the workflow execution in which the risk factor was generated.
      - `stepResultId` string — Unique identifier of the step result if the factor originated from a step.
      - `manualOverrideScore` number — If present, this score overrides all others and is used as the final score in risk assessment.
      - `status` 'VALID' | 'STALE' | 'OVERRIDDEN' | 'DISCARDED' — The current status of the risk factor: - VALID: The risk factor is applicable to the entity. - STALE: The risk factor is no longer applicable to the entity. If this status is returned, it means that at the time of risk assessment, the risk factor was valid. - OVERRIDDEN: The risk factor was manually overridden. If present, manualOverrideScore was used for risk score calculation in the risk assessment. - DISCARDED: The risk factor was added during workflow execution but was discarded at a later stage in the same workflow. This factor was not used in the final risk assessment.
      - `createdAt` string, date-time — Timestamp when the risk factor was created.
      - `updatedAt` string, date-time — Timestamp when the risk factor was last updated.
      - `updatedBy` string — Identifier of the user or system that updated this risk factor (e.g., System:<service_name>; or User:<user_name>).
      - `updatedRequestId` string — Identifier of the request that updated this risk factor.
      - `createdServiceProfileId` string, uuid — Identifier of the service profile associated with this risk factor when it was created.
      - `createdWorkflowExecutionId` string — Identifier of the workflow execution that originally created the risk factor.
      - `createdStepResultId` string — Identifier of the step result that originally created the risk factor.

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `404` — Not Found
- `409` — Conflict
- `500` — Internal Server Error
- `502` — Bad Gateway
- `503` — Service Unavailable

---

[API](https://skmtc.net/frankieone/apis/kyc-v2-api.md) · [All operations](https://skmtc.net/frankieone/apis/kyc-v2-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/frankieone/kyc-v2-api/versions/880b27506cbb/schema)
