Create or update ICP

Create or update an Ideal Customer Profile (ICP) used to filter company and people recommendations.

An ICP defines the characteristics of your target companies and people. Each externalUserId can have one ICP — calling this endpoint again for the same externalUserId replaces it. If externalUserId is omitted, the ICP is associated with the authenticated user.

Once saved, pass the externalUserId when calling POST /v2/recommendations/fetch to receive recommendations matching your profile. To retrieve existing ICPs, see GET /v2/recommendations/icp.

Filters and result count: Each filter you add narrows the criteria further. The more filters you set, the fewer recommendations you will receive.

For details on available filter values, see GET /v1/people/search/filters.

POST
/v2/recommendations/icp

Authorization

AuthorizationRequiredBearer <token>

In: header

Request Body

application/jsonRequired

Body

companiesobject
externalUserIdstring

ExternalUserID - Optional external user ID to associate the ICP filter with. If not provided, the ICP filter will be associated with the authenticated user.

Maximum length: 250
peopleobject
curl -X POST "https://api.surfe.com/v2/recommendations/icp" \
  -H "Authorization: Bearer <token>" \
  -H "Content-Type: application/json" \
  -d '{
    "companies": {
      "employeeCount": {
        "from": 1,
        "to": 100000000
      },
      "industries": [
        "Software",
        "Finance"
      ],
      "primaryLocations": [
        "fr",
        "W-EMEA"
      ],
      "revenue": {
        "from": 1,
        "to": 100000000
      }
    },
    "externalUserId": "ext-user-123",
    "people": {
      "countries": [
        "fr",
        "W-EMEA"
      ],
      "departments": [
        "Engineering",
        "Marketing"
      ],
      "jobTitles": [
        "Software Engineer",
        "Marketing Manager"
      ],
      "seniorities": [
        "Board Member",
        "C-Level",
        "Director",
        "Founder",
        "Head",
        "Manager",
        "Other",
        "Owner",
        "Partner",
        "VP"
      ]
    }
  }'

Created

{
  "companies": {
    "employeeCount": {
      "from": 1,
      "to": 100000000
    },
    "industries": [
      "Software",
      "Finance"
    ],
    "primaryLocations": [
      "fr",
      "W-EMEA"
    ],
    "revenue": {
      "from": 1,
      "to": 100000000
    }
  },
  "externalUserId": "ext-user-123",
  "id": "00000000-0000-0000-0000-000000000000",
  "people": {
    "countries": [
      "fr",
      "W-EMEA"
    ],
    "departments": [
      "Engineering",
      "Marketing"
    ],
    "jobTitles": [
      "Software Engineer",
      "Marketing Manager"
    ],
    "seniorities": [
      "Board Member",
      "C-Level",
      "Director",
      "Founder",
      "Head",
      "Manager",
      "Other",
      "Owner",
      "Partner",
      "VP"
    ]
  }
}