> ## Documentation Index
> Fetch the complete documentation index at: https://docs.octavehq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List persona

> List personas by query



## OpenAPI

````yaml get /api/v2/persona/list
openapi: 3.0.0
info:
  version: 1.0.0
  title: Octave API
  description: API for Octave workspace management and AI-powered content generation
servers:
  - url: https://app.octavehq.com
security:
  - ApiKeyAuth: []
paths:
  /api/v2/persona/list:
    get:
      tags:
        - Persona
      summary: List persona
      description: List personas by query
      operationId: listPersonas
      parameters:
        - schema:
            type: string
            nullable: true
            description: Text search query
          required: false
          description: Text search query
          name: text
          in: query
        - schema:
            type: number
            minimum: 0
            exclusiveMinimum: true
            default: 10
            example: 10
            description: Limit
          required: false
          description: Limit
          name: limit
          in: query
        - schema:
            type: number
            nullable: true
            minimum: 0
            default: 0
            example: 0
            description: Offset
          required: false
          description: Offset
          name: offset
          in: query
        - schema:
            type: string
            nullable: true
            description: >-
              Filter by offering OId. Accepts Product, Service, and Solution
              OIds.
          required: false
          description: Filter by offering OId. Accepts Product, Service, and Solution OIds.
          name: offeringOId
          in: query
        - schema:
            type: string
            nullable: true
            description: >-
              @deprecated Use `offeringOId` instead. Filter by offering OId
              (Product, Service, or Solution). Kept for backward compatibility.
            deprecated: true
          required: false
          description: >-
            @deprecated Use `offeringOId` instead. Filter by offering OId
            (Product, Service, or Solution). Kept for backward compatibility.
          name: productOId
          in: query
        - schema:
            type: string
            nullable: true
            description: Playbook OId
          required: false
          description: Playbook OId
          name: playbookOId
          in: query
      responses:
        '200':
          description: Persona data
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  hasNext:
                    type: boolean
                    example: false
                    description: Whether there are more results
                  total:
                    type: number
                    example: 0
                    description: Total number of results
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Persona'
                required:
                  - _metadata
                  - hasNext
                  - total
                  - data
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  message:
                    type: string
                required:
                  - _metadata
                  - message
      deprecated: false
components:
  schemas:
    Metadata:
      type: object
      properties:
        usage:
          type: number
          default: 0
          example: 0
          description: API usage
        requestId:
          type: string
          example: requestId
          description: Request ID
        message:
          type: string
          example: message
          description: Message
        timestamp:
          type: string
          example: '2021-01-01T00:00:00.000Z'
          description: Timestamp
      required:
        - requestId
        - timestamp
    Persona:
      type: object
      properties:
        oId:
          type: string
          minLength: 1
          description: Persona OId
          example: p_1234
        name:
          type: string
          nullable: true
          description: Persona name
          example: VP of Sales
        internalName:
          type: string
          nullable: true
          description: The internal name of the persona
          example: Sally the Sales Leader
        description:
          type: string
          nullable: true
          description: Persona description
        createdAt:
          type: string
          nullable: true
          format: date-time
          description: Creation date
        deletedAt:
          type: string
          nullable: true
          format: date-time
          description: Deleted date
        archivedAt:
          type: string
          nullable: true
          format: date-time
          description: Archived date
        updatedAt:
          type: string
          nullable: true
          format: date-time
          description: Updated date
        unrecognized:
          type: boolean
          nullable: true
          description: Whether persona is unrecognized
          example: false
        rejected:
          type: boolean
          nullable: true
          description: Whether persona is rejected
          example: false
        active:
          type: boolean
          default: true
          description: Whether the persona is active and can be used
          example: true
        data:
          $ref: '#/components/schemas/PersonData'
        qualifyingQuestions:
          type: array
          nullable: true
          items:
            type: object
            properties:
              question:
                type: string
                description: The question to ask to qualify the entity
              rationale:
                type: string
                description: The rationale for the question as to why it helps qualify
              fitType:
                type: string
                enum:
                  - GOOD
                  - BAD
                description: The fit type of the question
                example: GOOD
              weight:
                type: string
                enum:
                  - LOW
                  - MEDIUM
                  - HIGH
                  - INSTANT_QUALIFIER
                  - INSTANT_DISQUALIFIER
                description: The weight of the question
                example: MEDIUM
              archivedAt:
                type: string
                nullable: true
                format: date-time
                description: The date and time the question was archived
            required:
              - question
              - rationale
              - fitType
              - weight
        user:
          type: object
          properties:
            oId:
              type: string
              nullable: true
              description: The ID of the user who created the persona
              example: u_1234
            firstName:
              type: string
              nullable: true
              description: The first name of the user who created the persona
              example: John
            lastName:
              type: string
              nullable: true
              description: The last name of the user who created the persona
              example: Doe
          description: User data
        workspace:
          type: object
          properties:
            oId:
              type: string
              nullable: true
              description: The ID of the workspace that the persona belongs to
              example: wa_1234
          description: Workspace data
      required:
        - oId
        - createdAt
        - data
        - user
        - workspace
    PersonData:
      type: object
      properties:
        internalName:
          type: string
          nullable: true
          description: The internal name of the persona
        primaryResponsibilities:
          type: array
          items:
            type: string
          default: []
          description: The primary responsibilities of the persona
          example:
            - Responsibility 1
            - Responsibility 2
        painPoints:
          type: array
          items:
            type: string
          default: []
          description: The pain points of the persona
          example:
            - Pain Point 1
            - Pain Point 2
        keyConcerns:
          type: array
          items:
            type: string
          default: []
          description: The key concerns of the persona
          example:
            - Concern 1
            - Concern 2
        keyObjectives:
          type: array
          items:
            type: string
          default: []
          description: The key objectives of the persona
          example:
            - Objective 1
            - Objective 2
        commonJobTitles:
          type: array
          items:
            type: string
          default: []
          description: The common job titles of the persona
          example:
            - Job Title 1
            - Job Title 2
        whyTheyMatterToUs:
          type: array
          items:
            type: string
          default: []
          description: The reasons why the persona matters to us
          example:
            - Reason 1
            - Reason 2
        whyWeMatterToThem:
          type: array
          items:
            type: string
          default: []
          description: The reasons why we matter to this type of persona
          example:
            - Reason 1
            - Reason 2
        buyingRole:
          type: array
          items:
            type: string
          default: []
          description: >-
            The function this persona typically plays in a purchase decision
            (e.g. economic buyer, champion, technical evaluator, end user,
            influencer, blocker), along with their level of sophistication on
            the problem space (newcomer, experienced, expert).
          example:
            - Economic buyer with budget authority over the GTM stack.
            - Experienced operator who has evaluated similar tooling before.
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    CustomDataFields:
      type: array
      items:
        $ref: '#/components/schemas/CustomDataFieldItem'
    CustomDataFieldItem:
      type: object
      properties:
        title:
          type: string
        value:
          type: array
          items:
            type: string
      required:
        - title
        - value
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key

````