Skip to Content

Personas

11 endpoints

POST /api/v5/artifacts/personas/get

Get Persona

Get persona information using the canonical shared persona operation.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ persona_id?: `string` | `null` draft_id?: `string` | `null` color_search?: `string` | `null` icon_search?: `string` | `null` descriptions_search?: `string` | `null` instructions_search?: `string` | `null` parameter_field_search?: `string` | `null` parameter_ids?: `string`[] | `null` color_show_selected?: `boolean` | `null` icon_show_selected?: `boolean` | `null` parameter_field_show_selected?: `boolean` | `null` }

Response:

{ actor_name?: `string` | `null` persona_exists?: `boolean` | `null` can_edit?: `boolean` | `null` disabled_reason?: `string` | `null` draft_version?: `integer` | `null` group_id?: `string` | `null` basic_show_ai_generate?: `boolean` | `null` content_show_ai_generate?: `boolean` | `null` parameters_step_show_ai_generate?: `boolean` | `null` names?: `PersonaNameSection` | `null` descriptions?: `PersonaDescriptionSection` | `null` colors?: `PersonaColorSection` | `null` icons?: `PersonaIconSection` | `null` instructions?: `PersonaInstructionSection` | `null` flags?: `PersonaFlagSection` | `null` departments?: `PersonaDepartmentSection` | `null` parameter_fields?: `PersonaParameterFieldSection` | `null` examples?: `PersonaExampleSection` | `null` parameters?: `PersonaParameterSection` | `null` voices?: `PersonaVoiceSection` | `null` ... }

POST /api/v5/artifacts/personas/search

Search Persona

Search personas — composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ search?: `string` | `null` scenario_ids?: `string`[] | `null` field_ids?: `string`[] | `null` filter_department_ids?: `string`[] | `null` scenario_search?: `string` | `null` field_search?: `string` | `null` department_search?: `string` | `null` color_search?: `string` | `null` icon_search?: `string` | `null` voice_search?: `string` | `null` instruction_search?: `string` | `null` page_size?: `integer` | `null` page_offset?: `integer` | `null` }

Response:

{ actor_name?: `string` | `null` personas?: `ListPersonaApiPersona`[] | `null` scenario_filter?: `ListFilterSection` | `null` field_filter?: `ListFilterSection` | `null` department_filter?: `ListFilterSection` | `null` color_filter?: `ListFilterSection` | `null` icon_filter?: `ListFilterSection` | `null` voice_filter?: `ListFilterSection` | `null` instruction_filter?: `ListFilterSection` | `null` total_count?: `integer` | `null` import_fields?: `ImportField`[] | `null` }

POST /api/v5/artifacts/personas/create

Create Persona

Create personas using composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ personas: `CreatePersonaItem`[] }

Response:

{ results: `PersonaResultItem`[] }

POST /api/v5/artifacts/personas/update

Update Persona

Update personas using composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ personas: `UpdatePersonaItem`[] }

Response:

{ results: `PersonaResultItem`[] }

POST /api/v5/artifacts/personas/duplicate

Duplicate Persona

Duplicate a persona — composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ persona_id: `string` }

Response:

{ success: `boolean` persona_id: `string` message: `string` }

POST /api/v5/artifacts/personas/delete

Delete Persona

Bulk delete personas — composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ persona_ids: `string`[] }

Response:

{ results: `DeletePersonaResult`[] }

PATCH /api/v5/artifacts/personas/draft

Patch Persona Draft

Patch persona draft — composable infra architecture.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ input_draft_id?: `string` | `null` expected_version?: `integer` name?: `string` | `null` name_id?: `string` | `null` description?: `string` | `null` description_id?: `string` | `null` instructions?: `string` | `null` instructions_id?: `string` | `null` examples?: `string`[] | `null` example_ids?: `string`[] | `null` color_id?: `string` | `null` icon_id?: `string` | `null` flag_id?: `string` | `null` department_ids?: `string`[] | `null` parameter_field_ids?: `string`[] | `null` voice_ids?: `string`[] | `null` }

Response:

{ success: `boolean` draft_id: `string` new_version: `integer` message: `string` form_state: `DraftFormState` }

POST /api/v5/artifacts/personas/drafts

Get Persona Drafts

List persona drafts owned by the current profile.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Response:

{ entries?: `GetPersonaDraftResponse`[] | `null` }

POST /api/v5/artifacts/personas/docs

Get Persona Docs Endpoint

Get composed documentation for the persona artifact.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ entity_id?: `string` | `null` }

Response:

{ name: `string` type: `string` description: `string` artifact?: `DocsResponse` | `null` entries: `DocsResponse`[] resources: `DocsResponse`[] permissions: `OperationInfo`[] api_operations: `OperationInfo`[] page_metadata?: `DocsApiResponse` | `null` }

POST /api/v5/artifacts/personas/export

Export Personas

Export all personas as a clean, denormalized CSV.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Request body:

{ persona_id?: `string` | `null` search?: `string` | `null` scenario_ids?: `string`[] | `null` field_ids?: `string`[] | `null` filter_department_ids?: `string`[] | `null` }

Response:

{ upload_id: `string` file_name: `string` row_count: `integer` }

POST /api/v5/artifacts/personas/refresh

Persona Refresh

Refresh persona materialized views and invalidate caches.

Parameters:

NameInRequiredDescription
X-Api-KeyheaderNo
authorizationheaderNo
X-MCPheaderNo

Response:

{ success: `boolean` refreshed_views: `string`[] invalidated_tags: `string`[] }

Last updated on