Create Persona
Create a new persona (business line) for your workspace.
Creates a new persona for your workspace — unlike Upsert persona, this always creates a new record rather than replacing an existing one, so it's how you set up a second business line. There is no limit on the number of personas a workspace can create through this endpoint.
Create persona
POST/api/v2/personas
Request body
job_title and location are required; the other fields are optional.
| Field | Type | Description |
|---|---|---|
| job_title | string[] | Required. Target job titles — at least one entry. |
| exclude_job_title | string[] | Job titles to exclude. |
| location | string[] | Required. Target locations — at least one entry. Include at least one country (a city alone is not enough) so account mapping can run. |
| headcount | string[] | Target headcount ranges. Valid values: 1-10, 11-50, 51-200, 201-500, 501-1,000, 1,001-5,000, 5,001-10,000, 10,001+. |
| industry | string[] | Target industries. |
| seniority | string[] | Target seniority levels. Valid values: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern. |
| additional_info | string | Additional free-text persona context. |
| tag | string | Short free-form label you can set to recognise this persona in your own systems. Never used for targeting. Max 255 characters. A tag can belong to only one persona per workspace — reusing one returns 409 Conflict. |
Example request
curl -X POST "https://api.getsillage.com/api/v2/personas" \
-H "Authorization: Bearer $SILLAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"job_title": ["SDR"],
"location": ["United States"],
"tag": "smb-us"
}'Example response
201 Created:
{
"data": {
"id": 1235
}
}A submitted persona with a location that could not be resolved to a country — warnings appears only when there is something to flag:
{
"data": {
"id": 1235
},
"warnings": [
"None of the submitted locations could be resolved to a country. Account mapping will not run until this is fixed."
]
}Response fields
| Field | Type | Description |
|---|---|---|
| data.id | integer | ID of the created persona. This ID is specific to your environment. |
| warnings | string[] | Non-blocking notices about the persona you just submitted, for example a location that could not be matched to a country. The persona is saved either way. Omitted from the response when there is nothing to flag. |
Errors
| Status | Description |
|---|---|
| 401 | The API key is missing or invalid. |
| 409 | This tag is already used by another persona in this workspace. Choose a different one. |
| 422 | Invalid request body — missing or empty job_title/location, or an invalid headcount/seniority value. |
| 429 | Too many requests. |
| 500 | An unexpected server error occurred. |