---
title: "Update Icp"
method: PATCH
path: "/api/v1/onboarding/icp"
tags: ["onboarding"]
---

# Update Icp

`PATCH /api/v1/onboarding/icp`

## Request

- Base URL: `https://api.nudgelink.co` (the document declares no server; this is the origin it was published from)
- URL: `https://api.nudgelink.co/api/v1/onboarding/icp`
- Auth: HTTP bearer

Edit the ICP body (summary / criteria / keywords / sample_message) in
place — no AI regenerate. Unlike ``approve-icp`` (used at onboarding), this
deliberately does NOT touch ``style_profile``, so tweaking the ICP never
wipes the tone samples the client has taught the system through message
edits. Structured facets (locations/industries/skills) and calibration
anchors are preserved untouched.

## Request body

- ICPUpdateRequest: Partial edit of the ICP body. Every field is optional; omitted fields keep their current value.
  - `summary` string, nullable
  - `criteria` string[], nullable
  - `keywords` string[], nullable
  - `sample_message` string, nullable
  - `exclusions` object, nullable

## Response `200`

Successful Response

- ICPResponse
  - `summary` string, required
  - `criteria` string[], required
  - `keywords` string[], required
  - `style_notes` string[], required
  - `sample_message` string, required
  - `locations` string[]
  - `industries` string[]
  - `skills` string[]
  - `titles` string[]
  - `calibration_anchors` object[]
  - `exclusions` object
  - `product_summary` string

## Other responses

- `422`: Validation Error

---

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