API v3 is live and in beta: expect possible malfunctions and breaking changes in the coming days. If you find a bug, please report it to your Sillage contact.

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

PATCH/api/v3/personas/{persona_id}

Access modes

Use a workspace API key. The workspace is inferred from the key.

Authorization: Bearer sk_live_...

Path parameters

ParameterTypeDescription
persona_idintegerID of the persona, from List personas.

Body parameters

ParameterTypeDescription
namestringThe persona's name, as shown in the app.
job_titlesarray of stringTarget job titles. At least one value when you send it. Up to 1000 items of 1100 characters each.
excluded_job_titlesarray of stringPeople whose LinkedIn headline contains one of these words won't become leads. Up to 1000 items of 1100 characters each.
locationsarray of stringTarget 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.
headcountsarray of stringTarget headcount ranges: 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000 or 10,001+.
industriesarray of stringTarget industries. Up to 1000 items of 1100 characters each.
senioritiesarray of stringThe seniority levels this persona targets: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry or intern.
exclusion_criteriaarray of stringSentences or keywords describing who to leave out. Up to 50 items of 500 characters each. Send [] to clear it.
tagstringA 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 as FR, or a common local name such as Belgique, Suisse or Maroc.
  • Whole world: Global, Worldwide, World or Anywhere means no location filter.
  • Regions: each region stands for a set of countries.
RegionAlso writtenCountries
EuropeEU, Europe (EU)France, Germany, United Kingdom, Spain, Italy, Portugal, Netherlands, Belgium, Switzerland, Austria, Ireland, Sweden, Norway, Denmark, Finland, Poland, Czechia, Hungary, Romania, Greece.
European UnionThe 27 member states of the European Union.
EEAEU/EEAThe 27 member states of the European Union, plus Iceland, Liechtenstein and Norway.
EMEAUnited 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 EuropeFrance, Germany, Belgium, Netherlands, Luxembourg, Switzerland, Austria, Ireland, United Kingdom, Spain, Portugal, Italy.
Eastern EuropePoland, Czechia, Hungary, Romania, Bulgaria, Croatia, Slovakia, Slovenia, Estonia, Latvia, Lithuania.
Northern EuropeSweden, Norway, Denmark, Finland, Iceland, Ireland.
Southern EuropeSpain, Italy, Portugal, Greece.
NordicsDenmark, Finland, Iceland, Norway, Sweden.
BeneluxBelgium, Netherlands, Luxembourg.
DACHGermany, Austria, Switzerland.
United Kingdom & IrelandUK & IrelandUnited Kingdom, Ireland.
North AmericaUnited States, Canada, Mexico.
North America (US & Canada)United States, Canada.
South AmericaBrazil, Argentina, Colombia, Chile, Peru, Venezuela, Ecuador, Uruguay.
LATAMLatin AmericaBrazil, Mexico, Argentina, Colombia, Chile, Peru, Uruguay, Venezuela, Ecuador, Costa Rica, Panama, Dominican Republic.
APACAsia Pacific, Asia-PacificJapan, South Korea, China, India, Singapore, Australia, New Zealand, Indonesia, Thailand, Vietnam, Malaysia, Philippines.
AsiaThe APAC countries without Australia and New Zealand.
Australia & New ZealandAustralia and New Zealand, ANZAustralia, New Zealand.
MENAUnited Arab Emirates, Saudi Arabia, Egypt, Morocco, Tunisia, Algeria, Qatar, Kuwait, Bahrain, Oman, Jordan, Lebanon, Israel.
Middle EastMiddle-EastThe MENA countries without Egypt, Morocco, Tunisia and Algeria.
AfricaThe 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

FieldTypeDescription
data.idintegerID of the persona.
data.namestringThe persona's name, as shown in the app.
data.job_titlesarray of stringTarget job titles. [] when there are none.
data.excluded_job_titlesarray of stringPeople whose LinkedIn headline contains one of these words won't become leads.
data.locationsarray of stringTarget locations: countries or regions. [] when there are none.
data.headcountsarray of stringTarget headcount ranges. [] when there are none.
data.industriesarray of stringTarget industries. [] when there are none.
data.senioritiesarray of stringThe seniority levels this persona targets.
data.exclusion_criteriaarray of stringSentences or keywords describing who to leave out.
data.tagstring or nullThe short label you set to recognise this persona. Never used for targeting, and unique across the personas of the workspace.
meta.warningsarray of stringAdvisory notes about the persona you just saved. The whole meta is left out when there is nothing to report.

Errors

StatusMeaning
401The API key is missing or invalid.
404The persona does not exist or is archived.
409Another persona of the workspace already uses this tag.
422The body is empty, a value is not allowed, or a field is not known.
429Rate limit exceeded.
500An 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.

On this page