Voiceflow bearer token
Create persona
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/persona \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"items": []
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/persona?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"items": []
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/persona?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"items": []
},
)
data = response.json()vf persona create --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"persona": {
"id": "<string>",
"name": "<string>",
"items": [
{
"variable": "<string>",
"value": "<string>"
}
],
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z"
}
}Create a new persona.
Paste in your agent
1. Set up Voiceflow by following https://www.voiceflow.com/agents/setup 2. Read https://www.voiceflow.com/docs/api-reference/persona/create-persona.md — the Voiceflow documentation page "Create persona". Use it to help me with this part of Voiceflow and answer my questions. Refer to https://www.voiceflow.com/docs/llms.txt if you need related documentation.
Prompt copied. Paste in your agent.
POST
/v1/stable/persona
Create persona
curl --request POST \
--url https://realtime-api.voiceflow.com/v1/stable/persona \
--header 'Authorization: Bearer <token>'
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"items": []
}'const response = await fetch('https://realtime-api.voiceflow.com/v1/stable/persona?projectID=<projectID>&environmentAlias=<environmentAlias>', {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "<string>",
"items": []
}),
});
const data = await response.json();import requests
response = requests.post(
'https://realtime-api.voiceflow.com/v1/stable/persona?projectID=<projectID>&environmentAlias=<environmentAlias>',
headers={'Authorization': 'Bearer <token>'},
json={
"name": "<string>",
"items": []
},
)
data = response.json()vf persona create --project-id <projectID> --environment-alias <environmentAlias> \
< body.json{
"persona": {
"id": "<string>",
"name": "<string>",
"items": [
{
"variable": "<string>",
"value": "<string>"
}
],
"createdAt": "2026-09-10T00:00:00.000Z",
"updatedAt": "2026-09-10T00:00:00.000Z"
}
}Authorizations
Query Parameters
Body
The variable values this persona presets. On update this replaces the whole list: send every item the persona should keep. An item read back with a null variable cannot be kept: leave it out, or name an existing variable in its place.
Response
201 - application/jsonShow child attributes
The variable values this persona presets, one per variable.
Was this page helpful?
Thanks for your feedback.