persona_delete
Remove a persona from a brand, guarded against deleting something someone else has since edited.
Deletes a Persona from its Brand. Guarded by base_revision, so a persona someone else has edited since you read it is not silently removed.
The Brand itself is unaffected — deleting a persona removes one audience from the brief, not the brief.
Input
| Field | Type | Required | Description |
|---|---|---|---|
brand_name |
string |
yes | The slug of the brand that owns the persona. |
persona_name |
string |
yes | The persona slug. |
base_revision |
integer |
yes | The revision you last read via persona_get. |
Example
persona_delete({
brand_name: 'acme-running',
persona_name: 'marathon-maya',
base_revision: 4,
});
Requires the brand:write scope.
Reference
Delete a persona from a brand. Pass base_revision (from persona_get) — the delete is rejected if the persona changed since you read it. The slug becomes free to re-use within that brand.
Input
| Argument | Type | Required | Description |
|---|---|---|---|
base_revision |
integer | yes | The revision you last read via persona_get. Guards against deleting a persona someone else has since edited. |
brand_name |
string | yes | The slug of the brand that owns the persona. |
persona_name |
string | yes | The persona slug identifying which to delete. |
Failure codes
A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.
not_foundrevision_mismatchforbiddeninvalid_requestinternal_error
Scope
The token must hold brand:write. Auth & scopes lists each scope.
Annotations
A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.
- Writes. The tool can change data.
- Destructive. The tool can make a change that you cannot undo. A client can ask you to confirm before it calls the tool.
- Not idempotent. A second call with the same arguments can change more.
- Closed world. The tool reads and writes the data of AdCrunch only.