RunWhen Personas API
The personas API from RunWhen — 2 operation(s) for personas.
The personas API from RunWhen — 2 operation(s) for personas.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/runwhen-personas-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: papi Personas API
description: RunWhen Platform API
version: 2.0.0
tags:
- name: Personas
paths:
/api/v3/workspaces/{workspace_short_name}/personas:
get:
tags:
- Personas
summary: List personas for a workspace
description: 'List all personas for a workspace.
Args:
request: The HTTP request.
workspace_short_name: The short name of the workspace.
limit: Maximum number of results to return.
offset: Number of results to skip.
session: Database session.
current_user: The authenticated user.
Returns:
Paginated list of personas.
Raises:
HTTPException: 404 if workspace not found.'
operationId: list_personas_api_v3_workspaces__workspace_short_name__personas_get
parameters:
- name: workspace_short_name
in: path
required: true
schema:
type: string
title: Workspace Short Name
- name: limit
in: query
required: false
schema:
type: integer
maximum: 1000
minimum: 1
description: Maximum number of results
default: 100
title: Limit
description: Maximum number of results
- name: offset
in: query
required: false
schema:
type: integer
minimum: 0
description: Number of results to skip
default: 0
title: Offset
description: Number of results to skip
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PersonaListResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
/api/v3/workspaces/{workspace_short_name}/personas/{persona_short_name}:
get:
tags:
- Personas
summary: Get a persona by short name
description: 'Get a persona by its short name.
Args:
workspace_short_name: The short name of the workspace.
persona_short_name: The short name of the persona.
session: Database session.
current_user: The authenticated user.
Returns:
The persona details.
Raises:
HTTPException: 404 if workspace or persona not found.'
operationId: get_persona_api_v3_workspaces__workspace_short_name__personas__persona_short_name__get
parameters:
- name: workspace_short_name
in: path
required: true
schema:
type: string
title: Workspace Short Name
- name: persona_short_name
in: path
required: true
schema:
type: string
title: Persona Short Name
responses:
'200':
description: Successful Response
content:
application/json:
schema:
$ref: '#/components/schemas/PersonaResponse'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
security:
- BearerAuth: []
components:
schemas:
PersonaListResponse:
properties:
results:
items:
$ref: '#/components/schemas/PersonaResponse'
type: array
title: Results
description: List of persona items
count:
type: integer
title: Count
next:
anyOf:
- type: string
- type: 'null'
title: Next
previous:
anyOf:
- type: string
- type: 'null'
title: Previous
type: object
required:
- results
- count
title: PersonaListResponse
description: 'Paginated list response for Persona endpoints.
Subclasses PersonaListResponseV4 but overrides results to use legacy PersonaResponse items.'
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
PersonaResponse:
properties:
id:
type: integer
title: Id
name:
type: string
title: Name
description: 'Full persona name: workspace--persona-short-name'
shortName:
type: string
title: Shortname
description: Short name (workspace prefix stripped)
default: ''
fullName:
anyOf:
- type: string
- type: 'null'
title: Fullname
description: Human-readable display name
description:
anyOf:
- type: string
- type: 'null'
title: Description
avatarUrl:
anyOf:
- type: string
- type: 'null'
title: Avatarurl
description: Avatar image URL
workspace:
type: integer
title: Workspace
description: Parent workspace ID
filterConfidenceThreshold:
type: number
title: Filterconfidencethreshold
description: Confidence threshold for filtering results
default: 0.5
filterIssueSelectionStrategy:
type: string
title: Filterissueselectionstrategy
description: Strategy for selecting issues
default: MOST_SEVERE
filterCodebundleTaskTags:
items:
type: string
type: array
title: Filtercodebundletasktags
description: Task tags to filter code bundles
filterStopWords:
items:
type: string
type: array
title: Filterstopwords
description: Words to remove from search queries
filterScope:
anyOf:
- type: string
- type: 'null'
title: Filterscope
description: Scope filter for results
searchFilters:
additionalProperties: true
type: object
title: Searchfilters
description: Search filter operators for vector search
runConfidenceThreshold:
type: number
title: Runconfidencethreshold
description: Confidence threshold for automatic runs
default: 0.95
runConfig:
additionalProperties: true
type: object
title: Runconfig
description: Run configuration (allow/disallow/budget settings)
created:
title: Created
description: Creation timestamp
modified:
title: Modified
description: Last modification timestamp
spec:
additionalProperties: true
type: object
title: Spec
description: Return spec dict matching Django's CoreModelSerializer structure.
readOnly: true
status:
additionalProperties: true
type: object
title: Status
description: Return empty status dict matching Django's CoreModelSerializer structure.
readOnly: true
type: object
required:
- id
- name
- workspace
- created
- modified
- spec
- status
title: PersonaResponse
description: "Persona response schema for API responses (legacy V1/V3 wire shape).\n\nSubclasses PersonaResponseV4 (flat V4 fields) and layers on:\n - Legacy wire keys: ``workspace`` (was ``workspaceId``),\n ``created`` (was ``createdAt``), ``modified`` (was ``modifiedAt``)\n - camelCase aliases for filter/run fields\n - Computed ``spec`` and ``status`` for Django-era consumers\n\nSunset path: when external consumers fully migrate to /api/v4, delete this subclass."
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
securitySchemes:
BearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: JWT access token from /api/v3/token/ or Auth0 login