Update a persona
Change one or more fields of a persona.
Updates one persona of your workspace. Send only the fields to change: every field you leave out is kept. A persona that is archived, or that belongs to another workspace, is reported as not found. Returns the saved persona.
Route
Access modes
Use a workspace API key. The workspace is inferred from the key.
Authorization: Bearer sk_live_...Path parameters
| Parameter | Type | Description |
|---|---|---|
| persona_id | integer | ID of the persona, from List personas. |
Body parameters
| Parameter | Type | Description |
|---|---|---|
| name | string | The persona's name, as shown in the app. |
| job_titles | array of string | Target job titles. At least one value when you send it. Up to 1000 items of 1100 characters each. |
| excluded_job_titles | array of string | People whose LinkedIn headline contains one of these words won't become leads. Up to 1000 items of 1100 characters each. |
| locations | array of string | Target locations. At least one value when you send it. Use country names, ISO codes or region names, for example EMEA: see Recognized locations. A list with only cities is saved but matches no country, so account mapping does not run for it. Up to 1000 items of 1100 characters each. |
| headcounts | array of string | Target headcount ranges: 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000 or 10,001+. |
| industries | array of string | Target industries. Up to 1000 items of 1100 characters each. |
| seniorities | array of string | The seniority levels this persona targets: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry or intern. |
| exclusion_criteria | array of string | Sentences or keywords describing who to leave out. Up to 50 items of 500 characters each. Send [] to clear it. |
| tag | string | A short label, up to 255 characters, to recognise this persona in your own systems. Never used for targeting. Two personas of the workspace cannot share a tag: reusing one answers 409. |
Send at least one field. An empty body is refused with 422.
meta.warnings is present only when there is something to report, for example a location that could not be resolved to a country. The persona is saved either way.
Recognized locations
Each value of locations is read as a country, a region or a word that means the whole world. Matching ignores upper and lower case.
- Countries: a country name such as
France, its ISO code such asFR, or a common local name such asBelgique,SuisseorMaroc. - Whole world:
Global,Worldwide,WorldorAnywheremeans no location filter. - Regions: each region stands for a set of countries.
| Region | Also written | Countries |
|---|---|---|
Europe | EU, Europe (EU) | France, Germany, United Kingdom, Spain, Italy, Portugal, Netherlands, Belgium, Switzerland, Austria, Ireland, Sweden, Norway, Denmark, Finland, Poland, Czechia, Hungary, Romania, Greece. |
European Union | The 27 member states of the European Union. | |
EEA | EU/EEA | The 27 member states of the European Union, plus Iceland, Liechtenstein and Norway. |
EMEA | United Kingdom, France, Germany, Spain, Italy, Netherlands, Belgium, Switzerland, Sweden, Norway, Denmark, Finland, Ireland, Portugal, Poland, Austria, United Arab Emirates, Saudi Arabia, Israel, Morocco, Egypt, South Africa. | |
Western Europe | France, Germany, Belgium, Netherlands, Luxembourg, Switzerland, Austria, Ireland, United Kingdom, Spain, Portugal, Italy. | |
Eastern Europe | Poland, Czechia, Hungary, Romania, Bulgaria, Croatia, Slovakia, Slovenia, Estonia, Latvia, Lithuania. | |
Northern Europe | Sweden, Norway, Denmark, Finland, Iceland, Ireland. | |
Southern Europe | Spain, Italy, Portugal, Greece. | |
Nordics | Denmark, Finland, Iceland, Norway, Sweden. | |
Benelux | Belgium, Netherlands, Luxembourg. | |
DACH | Germany, Austria, Switzerland. | |
United Kingdom & Ireland | UK & Ireland | United Kingdom, Ireland. |
North America | United States, Canada, Mexico. | |
North America (US & Canada) | United States, Canada. | |
South America | Brazil, Argentina, Colombia, Chile, Peru, Venezuela, Ecuador, Uruguay. | |
LATAM | Latin America | Brazil, Mexico, Argentina, Colombia, Chile, Peru, Uruguay, Venezuela, Ecuador, Costa Rica, Panama, Dominican Republic. |
APAC | Asia Pacific, Asia-Pacific | Japan, South Korea, China, India, Singapore, Australia, New Zealand, Indonesia, Thailand, Vietnam, Malaysia, Philippines. |
Asia | The APAC countries without Australia and New Zealand. | |
Australia & New Zealand | Australia and New Zealand, ANZ | Australia, New Zealand. |
MENA | United Arab Emirates, Saudi Arabia, Egypt, Morocco, Tunisia, Algeria, Qatar, Kuwait, Bahrain, Oman, Jordan, Lebanon, Israel. | |
Middle East | Middle-East | The MENA countries without Egypt, Morocco, Tunisia and Algeria. |
Africa | The African countries of Sillage's country list. |
A value that is none of these, such as a city or a misspelling, is kept and never refused: it comes back in meta.warnings, and it matches no country.
Example request
curl -X PATCH "https://api.getsillage.com/api/v3/personas/7" \
-H "Authorization: Bearer $SILLAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"locations": [
"United States",
"Canada"
],
"tag": "smb-north-america"
}'Success response
Status: 200 OK
{
"data": {
"id": 7,
"name": "Sales EMEA persona",
"job_titles": ["VP Sales", "Head of Sales"],
"excluded_job_titles": ["Intern"],
"locations": ["United States", "Canada"],
"headcounts": ["51-200", "201-500"],
"industries": ["Software"],
"seniorities": ["vp", "head"],
"exclusion_criteria": ["Agencies"],
"tag": "smb-north-america"
}
}Response fields
| Field | Type | Description |
|---|---|---|
| data.id | integer | ID of the persona. |
| data.name | string | The persona's name, as shown in the app. |
| data.job_titles | array of string | Target job titles. [] when there are none. |
| data.excluded_job_titles | array of string | People whose LinkedIn headline contains one of these words won't become leads. |
| data.locations | array of string | Target locations: countries or regions. [] when there are none. |
| data.headcounts | array of string | Target headcount ranges. [] when there are none. |
| data.industries | array of string | Target industries. [] when there are none. |
| data.seniorities | array of string | The seniority levels this persona targets. |
| data.exclusion_criteria | array of string | Sentences or keywords describing who to leave out. |
| data.tag | string or null | The short label you set to recognise this persona. Never used for targeting, and unique across the personas of the workspace. |
| meta.warnings | array of string | Advisory notes about the persona you just saved. The whole meta is left out when there is nothing to report. |
Errors
| Status | Meaning |
|---|---|
| 401 | The API key is missing or invalid. |
| 404 | The persona does not exist or is archived. |
| 409 | Another persona of the workspace already uses this tag. |
| 422 | The body is empty, a value is not allowed, or a field is not known. |
| 429 | Rate limit exceeded. |
| 500 | An unexpected server error occurred. |
Error responses use RFC 9457 problem documents with Content-Type: application/problem+json. type is always about:blank; code tells one problem from another, detail says what went wrong this time, and errors names the field at fault.