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

# Get candidate profile for an application

> Returns the candidate's structured profile (identity, employments, educations, languages, skills, hobbies) as extracted from their CV. Same data as the profile tab in the UI.



## OpenAPI

````yaml /api-reference/openapi.json get /application/{applicationid}/profile
openapi: 3.0.3
info:
  title: JobAffinity REST API
  version: '1.12'
  description: >
    JobAffinity REST API for managing jobs, candidates, applications, and
    recruitment processes.


    ## Authentication

    All endpoints require HTTP Basic Authentication.


    ## Versioning

    Current version: 1.12


    See `/restapi/changelog` for version history and changes.
  contact:
    name: JobAffinity API Support
servers:
  - url: https://jobaffinity.fr/restapi/v1
    description: REST API v1
  - url: https://jobaffinity.fr/restapi
    description: REST API root (for changelog)
security:
  - basicAuth: []
tags:
  - name: API Info
    description: API metadata and changelog
  - name: Jobs
    description: Job listings and details
  - name: Candidates
    description: Candidate information
  - name: Applications
    description: Job applications
  - name: Processes
    description: Recruitment processes and steps
  - name: Notes
    description: Candidate notes
  - name: Questionnaires
    description: Questionnaire answers
  - name: Webhooks
    description: Webhook tasks
  - name: Job Application Submission
    description: >-
      Submit candidate applications to a job posting via the apply URL provided
      in the job feed. The authentication token is embedded in the URL — no
      additional credentials are required.
paths:
  /application/{applicationid}/profile:
    get:
      tags:
        - Applications
      summary: Get candidate profile for an application
      description: >-
        Returns the candidate's structured profile (identity, employments,
        educations, languages, skills, hobbies) as extracted from their CV. Same
        data as the profile tab in the UI.
      operationId: getApplicationProfile
      parameters:
        - name: applicationid
          in: path
          required: true
          description: Application ID
          schema:
            type: integer
      responses:
        '200':
          description: Candidate profile
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApplicationProfile'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '404':
          $ref: '#/components/responses/NotFoundError'
components:
  schemas:
    ApplicationProfile:
      type: object
      properties:
        _status:
          type: string
          enum:
            - OK
            - INVALID
        _schema:
          type: string
          format: uri
        identity:
          type: array
          items:
            $ref: '#/components/schemas/ProfileIdentity'
        employments:
          type: array
          items:
            $ref: '#/components/schemas/ProfileEmployment'
        educations:
          type: array
          items:
            $ref: '#/components/schemas/ProfileEducation'
        languages:
          type: array
          items:
            $ref: '#/components/schemas/ProfileLanguage'
        skills:
          type: array
          items:
            $ref: '#/components/schemas/ProfileSkill'
        hobbies:
          type: array
          items:
            $ref: '#/components/schemas/ProfileHobby'
        avatar_url:
          type: string
          description: >-
            Presigned URL to the candidate avatar image, or empty string if
            none. Short-lived (~1 hour).
        cv_url:
          type: string
          description: >-
            Presigned URL to the latest CV document, or empty string if none.
            Short-lived (~1 hour).
    ProfileIdentity:
      type: object
      properties:
        first_name:
          type: string
        last_name:
          type: string
        email:
          type: string
          format: email
        phone:
          type: string
        address:
          type: string
        zip_code:
          type: string
        town:
          type: string
        country:
          type: string
    ProfileEmployment:
      type: object
      properties:
        start:
          type: string
          description: Start date (YYYY-MM-DD or empty)
        end:
          type: string
          description: End date (YYYY-MM-DD or empty)
        readable_start:
          type: string
          description: Localized start date
        readable_end:
          type: string
          description: Localized end date
        title:
          type: string
        employer:
          type: string
        description:
          type: string
    ProfileEducation:
      type: object
      properties:
        start:
          type: string
        end:
          type: string
        readable_start:
          type: string
        readable_end:
          type: string
        title:
          type: string
        institution:
          type: string
        level:
          type: integer
          description: Education level index
        level_text:
          type: string
          description: Education level label (e.g. Bac+5)
        description:
          type: string
    ProfileLanguage:
      type: object
      properties:
        name:
          type: string
          description: Language name
        level:
          type: integer
          description: Proficiency level index
        level_name:
          type: string
          description: Proficiency level label (e.g. C1)
    ProfileSkill:
      type: object
      properties:
        name:
          type: string
        level:
          type: integer
          description: Skill level index
        level_name:
          type: string
          description: Skill level label (e.g. Advanced)
    ProfileHobby:
      type: object
      properties:
        name:
          type: string
  responses:
    UnauthorizedError:
      description: Authentication information is missing or invalid
      headers:
        WWW-Authenticate:
          schema:
            type: string
    NotFoundError:
      description: The specified resource was not found
      content:
        application/json:
          schema:
            type: object
            properties:
              _status:
                type: string
                enum:
                  - INVALID
              error:
                type: string
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic Authentication with API credentials

````