---
title: "Restore ICP fields to AI-generated draft"
method: POST
path: "/api/me/icp/reset"
tags: ["me"]
---

# Restore ICP fields to AI-generated draft

`POST /api/me/icp/reset`

## Request

- Base URL: `https://api.signalraven.ai`
- URL: `https://api.signalraven.ai/api/me/icp/reset`
- Auth: none declared

Copies the onboarding-time draft_snapshot back over the live ICP row, preserving id/customer_id/name/is_default/created_at. Writes an icp.reset audit event with before/after diffs. Returns 404 NoIcp when no default ICP exists, or 409 NoDraft when the profile has no snapshot on file (pre-existing customers or manual admin creates). Use the resettable flag on GET /api/me/icp to gate the UI button.

## Response `200`

ICP restored from draft

- MeIcpResponse
  - `icp` IcpProfile, required
    - `id` string, uuid, required: ICP Profile ID
    - `customerId` string, uuid, required
    - `name` string, required
    - `minEmployees` integer, required
    - `maxEmployees` integer, required
    - `targetIndustries` string[], nullable, required
    - `targetTitles` string[], nullable, required
    - `excludeTitles` string[], nullable, required
    - `targetPersonas` string[], nullable, required
    - `additionalContext` string, nullable, required
    - `targetLocations` string[], nullable, required
    - `targetBuyerIndustries` string[], nullable, required
    - `buyerContext` string, nullable, required
    - `targetSeniority` string[], nullable, required
    - `matchWeights` object, nullable, required
      - `title` number, required
      - `marketAffinity` number, required
      - `industry` number, required
      - `companySize` number, required
      - `location` number, required
    - `productCategory` string, nullable, required
    - `classificationExamples` string, nullable, required
    - `excludeInfluencers` boolean, required
    - `isDefault` boolean, required
    - `createdAt` string, date-time, required
  - `classificationExamples` string, nullable, required
  - `resettable` boolean, required
  - `effectiveThresholds` object, required
    - `title` number, required
    - `marketAffinity` number, required
    - `industry` number, required
    - `companySize` number, required
    - `location` number, required
  - `effectiveTargetLocations` string[], required

## Other responses

- `404`: No default ICP profile
- `409`: No AI draft on file for this ICP

---

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