API Reference
ICPs
Ideal Customer Profiles used for discovery and account scoring. Create them from plain English, set the active one, and delete them.
List ICPs
GET
/icpsResponse
{
"data": [
{
"id": "...",
"name": "Primary ICP",
"raw_text": "B2B SaaS companies, 200-2000 employees, in North America...",
"compiled": { "...": "compiled profile" },
"is_active": true,
"created_at": "2026-06-01T..."
}
]
}Create an ICP
POST
/icpsProvide a plain-English description, Hunch compiles it into a structured profile. Compilation is best-effort, the ICP is still created (uncompiled) if the AI engine is unavailable.
Body fields
namestringrequiredA label for the ICP.
raw_textstringrequiredPlain-English description of your ideal customer.
activatebooleanoptionalMake this the active ICP on creation.
Request
curl -X POST https://usehunch.co/api/v1/icps \
-H "Authorization: Bearer hunch_YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{ "name": "Enterprise", "raw_text": "Fortune 1000 fintechs with 1000+ employees", "activate": true }'Get an ICP
GET
/icps/:idReturns the ICP including its compiled profile.
Set the active ICP
PATCH
/icps/:idSend { "active": true } to make this the active ICP used for discovery. Any other ICP is deactivated.
Body fields
activebooleanrequiredMust be true. Makes this the active ICP.
Exactly one ICP is active at a time. Activating an ICP clears the flag on all others.
Delete an ICP
DELETE
/icps/:idResponse
{ "data": { "id": "...", "deleted": true } }