---
title: "Validate Icp"
method: POST
path: "/validate/icp"
---

# Validate Icp

`POST /validate/icp`

Validate domains against an ICP description.

Generates a validation prompt from the ICP text, then runs it through DiscoGen
with a fixed output schema: fit (yes/partial/no), confidence (high/medium/low), reasoning.

Returns an async task — poll GET /discogen/status/{task_id} for results.

## Request body

- BodyValidateIcpValidateIcpPost
  - `icp_text` string, required
  - `domains` string[], required
  - `context_mode` 'website' | 'profile' | 'domain'
  - `integration_id` string, nullable
  - `web_search` boolean
  - `search_provider_id` string, nullable

## Response `200`

Successful Response

- DiscoGenTaskResponse — Initial response from /discogen/process endpoint (202 Accepted).
  - `task_id` string, required — Unique task identifier for polling status
  - `column_name` union, required — AI-generated or user-provided column name(s) for results
    - string
    - string[]
  - `status` 'in_progress', required — Task status: in_progress
  - `total_domains` integer, required — Total number of domains to process

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/discolike/apis/discolike-api.md) · [All operations](https://skmtc.net/discolike/apis/discolike-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/discolike/discolike-api/versions/3248fc62024c/schema)
