> ## 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.

# Enrich Person Agent

> Enrich a Person



## OpenAPI

````yaml post /api/v2/agents/enrich-person/run
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/agents/enrich-person/run:
    post:
      tags:
        - Agents
      summary: Enrich Person Agent
      description: Enrich a Person
      operationId: runEnrichPersonAgent
      requestBody:
        description: Enrichment input
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  nullable: true
                  description: Email of the person to enrich
                  example: john.doe@example.com
                firstName:
                  type: string
                  nullable: true
                  description: First name of the person to enrich
                  example: John
                lastName:
                  type: string
                  nullable: true
                jobTitle:
                  type: string
                  nullable: true
                  description: Job title of the person to enrich
                  example: Software Engineer
                companyDomain:
                  type: string
                  nullable: true
                  description: Company domain of the person to enrich
                companyName:
                  type: string
                  nullable: true
                  description: Company name of the person to enrich
                  example: Example
                linkedInProfile:
                  type: string
                  nullable: true
                  description: LinkedIn profile of the person to enrich
                  example: https://www.linkedin.com/in/john-doe/
                crmContactId:
                  type: string
                  nullable: true
                crmLeadId:
                  type: string
                  nullable: true
                crmAccountId:
                  type: string
                  nullable: true
                runtimeContext:
                  nullable: true
                  description: Runtime context
                  example:
                    user:
                      oId: user_123
                agentOId:
                  type: string
                  description: >-
                    AgentOId is required when creating an agent in the
                    application. You can find it in the Agents section of your
                    dashboard.
                  example: agent_123
                includeFullAnnotation:
                  type: boolean
                  description: >-
                    If true, returns full annotation data including metadata. If
                    false or omitted (default), returns minimal annotations to
                    reduce response size.
              required:
                - agentOId
      responses:
        '200':
          description: Enrichment successful
          content:
            application/json:
              schema:
                type: object
                properties:
                  _metadata:
                    $ref: '#/components/schemas/Metadata'
                  found:
                    type: boolean
                    description: Whether the operation was successful
                    example: true
                  message:
                    type: string
                    nullable: true
                    description: Message
                    example: Additional information
                  data:
                    $ref: '#/components/schemas/EnrichPersonAgentData'
                required:
                  - _metadata
                  - found
        '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
    EnrichPersonAgentData:
      type: object
      nullable: true
      properties:
        product:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            internalName:
              type: string
              nullable: true
              description: The internal name of the product
              example: Product Internal Name
            description:
              type: string
              nullable: true
              description: The description of the product
              example: Product Description
            primaryUrl:
              type: string
              nullable: true
              description: The primary URL of the product
              example: https://www.product.com
            data:
              $ref: '#/components/schemas/ProductData'
            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
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
          required:
            - data
        service:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            internalName:
              type: string
              nullable: true
              description: The internal name of the service
              example: Service Internal Name
            description:
              type: string
              nullable: true
              description: The description of the service
              example: Service Description
            primaryUrl:
              type: string
              nullable: true
              description: The primary URL of the service
              example: https://www.service.com
            data:
              $ref: '#/components/schemas/ServiceData'
            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
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
          required:
            - data
        solution:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            internalName:
              type: string
              nullable: true
            description:
              type: string
              nullable: true
            data:
              $ref: '#/components/schemas/SolutionPersistedData'
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
          required:
            - data
        persona:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            internalName:
              type: string
              nullable: true
              description: The internal name of the persona
              example: Sally the Sales Leader
            description:
              type: string
              nullable: true
              description: The description of the persona
            data:
              $ref: '#/components/schemas/PersonaData'
            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
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
          required:
            - data
        useCase:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            internalName:
              type: string
              nullable: true
              description: The internal name of the use case
              example: Use Case Internal Name
            description:
              type: string
              nullable: true
              description: The description of the use case
              example: Use Case Description
            primaryUrl:
              type: string
              nullable: true
              description: The primary URL of the use case
              example: https://www.use-case.com
            data:
              $ref: '#/components/schemas/UseCaseData'
            scenarios:
              type: array
              nullable: true
              items:
                type: string
              description: Scenarios
            desiredOutcomes:
              type: array
              nullable: true
              items:
                type: string
              description: Desired Outcomes
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
        playbook:
          type: object
          nullable: true
          properties:
            oId:
              type: string
              nullable: true
            name:
              type: string
              nullable: true
            description:
              type: string
              nullable: true
            type:
              type: string
              nullable: true
              enum:
                - LEGACY
                - SECTOR
                - SOLUTION
                - MILESTONE
                - PRACTITIONER
                - COMPETITIVE
                - ACCOUNT
                - CUSTOM
                - null
            keyInsight:
              type: array
              items:
                type: string
            matchConfidence:
              type: string
              enum:
                - LOW
                - MEDIUM
                - HIGH
            matchAnalysis:
              type: string
              nullable: true
        references:
          type: array
          nullable: true
          items:
            type: object
            properties:
              name:
                type: string
                default: ''
              oId:
                type: string
                nullable: true
              matchConfidence:
                type: string
                enum:
                  - LOW
                  - MEDIUM
                  - HIGH
              matchAnalysis:
                type: string
                nullable: true
              howTheyUseUs:
                type: string
                nullable: true
                default: ''
              impactTheySaw:
                type: array
                nullable: true
                items:
                  type: string
                default: []
        valueProps:
          type: array
          nullable: true
          items:
            type: object
            properties:
              oId:
                type: string
                nullable: true
              name:
                type: string
                nullable: true
              details:
                type: string
                nullable: true
              createdAt:
                type: string
                nullable: true
                format: date-time
              updatedAt:
                type: string
                nullable: true
                format: date-time
              evidence:
                type: array
                nullable: true
                items:
                  type: string
        research:
          type: object
          nullable: true
          properties:
            currentPosition:
              type: array
              items:
                type: string
            previousPositions:
              type: array
              items:
                type: string
            keyExpertise:
              type: array
              items:
                type: string
            careerArc:
              type: array
              items:
                type: string
            notableExperience:
              type: array
              items:
                type: string
            keyFindings:
              type: array
              nullable: true
              items:
                type: string
          required:
            - currentPosition
            - previousPositions
            - keyExpertise
            - careerArc
            - notableExperience
        companyResearch:
          type: array
          nullable: true
          items:
            type: object
            nullable: true
            properties:
              summary:
                type: array
                items:
                  type: string
              businessDescription:
                type: array
                items:
                  type: string
              businessCharacteristics:
                type: array
                items:
                  type: string
              businessEnvironment:
                type: array
                items:
                  type: string
            required:
              - summary
              - businessDescription
              - businessCharacteristics
              - businessEnvironment
        profile:
          type: object
          nullable: true
          properties:
            firstName:
              type: string
              nullable: true
            lastName:
              type: string
              nullable: true
            title:
              type: string
              nullable: true
            profileUrl:
              type: string
              nullable: true
            company:
              type: object
              nullable: true
              properties:
                name:
                  type: string
                  nullable: true
                description:
                  type: string
                  nullable: true
                domain:
                  type: string
                  nullable: true
                website:
                  type: string
                  nullable: true
                founded:
                  type: number
                  nullable: true
                location:
                  type: object
                  nullable: true
                  properties:
                    region:
                      type: string
                      nullable: true
                    locality:
                      type: string
                      nullable: true
                    postalCode:
                      type: string
                      nullable: true
                    countryCode:
                      type: string
                      nullable: true
                    streetAddress:
                      type: string
                      nullable: true
                employeeCount:
                  type: number
                  nullable: true
                followerCount:
                  type: number
                  nullable: true
                type:
                  type: string
                  nullable: true
                slug:
                  type: string
                  nullable: true
                logoUrl:
                  type: string
                  nullable: true
                countryCode:
                  type: string
                  nullable: true
                specialties:
                  type: array
                  nullable: true
                  items:
                    type: string
                industry:
                  type: string
                  nullable: true
                crunchBaseFunding:
                  type: array
                  nullable: true
                  items:
                    type: object
                    properties:
                      fundingRoundCount:
                        type: number
                        nullable: true
                      roundDate:
                        type: string
                        nullable: true
                        format: date-time
                      roundName:
                        type: string
                        nullable: true
                      investorNames:
                        type: array
                        nullable: true
                        items:
                          type: string
                      investorCount:
                        type: number
                        nullable: true
                      roundAmount:
                        type: number
                        nullable: true
                      roundCurrency:
                        type: string
                        nullable: true
            companyName:
              type: string
              nullable: true
            companyDomain:
              type: string
              nullable: true
            companyFoundedYear:
              type: number
              nullable: true
            companyEmployeeCount:
              type: number
              nullable: true
            companyDescription:
              type: string
              nullable: true
            headline:
              type: string
              nullable: true
            summary:
              type: string
              nullable: true
            slug:
              type: string
              nullable: true
            internalPictureUrl:
              type: string
              nullable: true
            countryCode:
              type: string
              nullable: true
            location:
              type: string
              nullable: true
            city:
              type: string
              nullable: true
            currentJobFunction:
              type: string
              nullable: true
            currentSeniority:
              type: string
              nullable: true
            followers:
              type: number
              nullable: true
            allPositionsCount:
              type: number
              nullable: true
            currentPositionsCount:
              type: number
              nullable: true
            positions:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  companyName:
                    type: string
                    nullable: true
                  title:
                    type: string
                    nullable: true
                  summary:
                    type: string
                    nullable: true
                  is_current:
                    type: boolean
                    default: false
                  startDate:
                    type: string
                    nullable: true
                    format: date-time
                  endDate:
                    type: string
                    nullable: true
                    format: date-time
                  seniority:
                    type: string
                    nullable: true
                  jobFunction:
                    type: string
                    nullable: true
                  company:
                    type: object
                    nullable: true
                    properties:
                      name:
                        type: string
                        nullable: true
                      domain:
                        type: string
                        nullable: true
                      founded:
                        type: number
                        nullable: true
                      employeeCount:
                        type: number
                        nullable: true
                      description:
                        type: string
                        nullable: true
                      location:
                        type: object
                        nullable: true
                        properties:
                          region:
                            type: string
                            nullable: true
                          locality:
                            type: string
                            nullable: true
                          postalCode:
                            type: string
                            nullable: true
                          countryCode:
                            type: string
                            nullable: true
                          streetAddress:
                            type: string
                            nullable: true
                      slug:
                        type: string
                        nullable: true
        jobFunction:
          type: string
          nullable: true
        seniority:
          type: string
          nullable: true
        annotations:
          type: object
          nullable: true
          properties:
            annotations:
              type: array
              nullable: true
              items:
                type: object
                properties:
                  type:
                    type: string
                  meta:
                    nullable: true
                  title:
                    type: string
                  description:
                    type: string
                    nullable: true
                  url:
                    type: string
                    nullable: true
                required:
                  - type
                  - title
            metadata:
              nullable: true
        customTask:
          type: object
          nullable: true
          properties:
            content:
              nullable: true
              description: Structured JSON output from the custom task
            error:
              type: string
              nullable: true
              description: Error message if the custom task failed
    ProductData:
      type: object
      properties:
        type:
          type: string
          enum:
            - PRODUCT
            - SERVICE
            - SOLUTION
          default: PRODUCT
        internalName:
          type: string
          nullable: true
          description: The internal name of the product
        summary:
          type: string
          nullable: true
        distinctCapabilities:
          type: array
          items:
            type: string
          default: []
          description: >-
            What the product does at the functional level, and what it enables
            customers to accomplish. Outcome-oriented, not mechanism-oriented
            (mechanisms live in keyFeatures).
          example:
            - Capability 1
            - Capability 2
        keyFeatures:
          type: array
          items:
            type: string
          default: []
          description: >-
            The specific, named, often branded components of the product worth
            highlighting. Concrete and tangible; these help frame the 'how'
            behind the capabilities.
          example:
            - Feature 1
            - Feature 2
        differentiatedValue:
          type: array
          items:
            type: string
          default: []
          description: The differentiated value of the product
          example:
            - Differentiated Value 1
            - Differentiated Value 2
        statusQuo:
          type: array
          items:
            type: string
          default: []
          description: The status quo of the product
          example:
            - Status Quo 1
            - Status Quo 2
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
          description: The challenges addressed by the offering
          example:
            - Challenge 1
            - Challenge 2
        customerBenefits:
          type: array
          items:
            type: string
          default: []
          description: The customer benefits of the offering
          example:
            - Benefit 1
            - Benefit 2
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    ServiceData:
      type: object
      properties:
        type:
          type: string
          enum:
            - PRODUCT
            - SERVICE
            - SOLUTION
          default: SERVICE
        summary:
          type: string
          nullable: true
        deliverables:
          type: array
          items:
            type: string
          default: []
          description: Key deliverables of the service
          example:
            - Deliverable 1
            - Deliverable 2
        competencies:
          type: array
          items:
            type: string
          default: []
          description: Key competencies required for the service
          example:
            - Competency 1
            - Competency 2
        comparativeAdvantage:
          type: array
          items:
            type: string
          default: []
          description: The comparative advantage of the service
          example:
            - Advantage 1
            - Advantage 2
        likelyAlternative:
          type: array
          items:
            type: string
          default: []
          description: The likely alternative to the service
          example:
            - Alternative 1
            - Alternative 2
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
          description: The challenges addressed by the offering
          example:
            - Challenge 1
            - Challenge 2
        customerBenefits:
          type: array
          items:
            type: string
          default: []
          description: The customer benefits of the offering
          example:
            - Benefit 1
            - Benefit 2
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
    SolutionPersistedData:
      type: object
      properties:
        internalName:
          type: string
          nullable: true
        summary:
          type: string
          nullable: true
        distinctCapabilities:
          type: array
          items:
            type: string
          default: []
        keyComponents:
          type: array
          items:
            type: string
          default: []
        customerBenefits:
          type: array
          items:
            type: string
          default: []
        challengesAddressed:
          type: array
          items:
            type: string
          default: []
        statusQuo:
          type: array
          items:
            type: string
          default: []
        differentiatedValue:
          type: array
          items:
            type: string
          default: []
        customFields:
          $ref: '#/components/schemas/CustomDataFields'
        additionalProperties:
          type: object
          additionalProperties:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
              - type: number
              - type: boolean
        type:
          type: string
          enum:
            - PRODUCT
            - SERVICE
            - SOLUTION
          default: SOLUTION
    PersonaData:
      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
    UseCaseData:
      type: object
      nullable: true
      properties:
        summary:
          type: string
          nullable: true
          description: Summary
        scenarios:
          type: array
          nullable: true
          items:
            type: string
          description: Scenarios
        desiredOutcomes:
          type: array
          nullable: true
          items:
            type: string
          description: Desired Outcomes
        businessDrivers:
          type: array
          nullable: true
          items:
            type: string
          description: Business Drivers
        strategicImpact:
          type: array
          nullable: true
          items:
            type: string
          description: >-
            The strategic, business-level benefit realized when this use case is
            solved well: quantifiable impact on revenue, cost, risk, and/or
            efficiency, and the broader value to the company.
        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

````