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.

Create a persona

Add a persona to the workspace.

Adds a persona to your workspace, next to the ones it already has. It never replaces an existing persona. A workspace can have only one persona unless several are enabled for it; without that, creating a second persona is refused. Contact Sillage to have several personas enabled. Returns the saved persona.

There is no idempotency key: sending the same request twice creates two personas in a workspace that can have several. Before you retry, check the state with GET /v3/personas.

Route

POST/api/v3/personas

Access modes

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

Authorization: Bearer sk_live_...

Body parameters

ParameterTypeDescription
namestringOptional. Defaults to "<your domain> persona" (or your workspace name if it has no domain), numbered "… 2", "… 3" when that name is taken.
job_titlesarray of stringRequired. Target job titles. At least one value. 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 stringRequired. Target locations. At least one value. 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.

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 POST "https://api.getsillage.com/api/v3/personas" \
  -H "Authorization: Bearer $SILLAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "job_titles": [
    "VP Sales",
    "Head of Sales"
  ],
  "locations": [
    "United States"
  ],
  "seniorities": [
    "vp",
    "head"
  ],
  "tag": "smb-us"
}'

Success response

Status: 201 Created

{
  "data": {
    "id": 7,
    "name": "Sales EMEA persona",
    "job_titles": ["VP Sales", "Head of Sales"],
    "excluded_job_titles": ["Intern"],
    "locations": ["United States", "France"],
    "headcounts": ["51-200", "201-500"],
    "industries": ["Software"],
    "seniorities": ["vp", "head"],
    "exclusion_criteria": ["Agencies"],
    "tag": "smb-us"
  }
}

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.
403Your workspace can have only one persona. Contact Sillage to enable business units (multi-persona setup) and add more. Nothing is created.
409Another persona of the workspace already uses this tag.
422job_titles or locations is missing or empty, a value is not allowed (for example a headcounts or seniorities value), 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