Update Persona
Partially update a persona in your workspace.
Partially updates one persona by its id, scoped to your workspace. Every field is optional, but at least one must be provided. Fields left out are unchanged. Returns 404 when the persona does not exist. Updating one persona never touches another.
Update persona
PATCH/api/v2/personas/{persona_id}
Path parameters
| Parameter | Type | Description |
|---|---|---|
| persona_id | integer | ID of the persona, as returned by List personas. This ID is specific to your environment. |
Request body
Every field is optional, but at least one must be sent. job_title and location, if sent, must each keep at least one value.
| Field | Type | Description |
|---|---|---|
| job_title | string[] | Target job titles — at least one value, if sent. |
| exclude_job_title | string[] | Job titles to exclude. |
| location | string[] | Target locations — at least one value, if sent. 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 PATCH "https://api.getsillage.com/api/v2/personas/1234" \
-H "Authorization: Bearer $SILLAGE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"location": ["Germany"]
}'Example response
{
"data": {
"id": 1234
}
}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": 1234
},
"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 updated 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. |
| 404 | The persona does not exist. |
| 409 | This tag is already used by another persona in this workspace. Choose a different one. |
| 422 | Invalid request body — no field provided, or an invalid value in a provided field. Also returned for an invalid persona_id. |
| 429 | Too many requests. |
| 500 | An unexpected server error occurred. |