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

# List all CVs

> Retrieve a paginated list of all CVs in your workspace. Results are returned in reverse chronological order with pagination metadata to support incremental loading.



## OpenAPI

````yaml /api-reference/openapi.json get /cvs
openapi: 3.1.0
info:
  title: Fribl API
  description: >-
    The Fribl API enables intelligent talent matching powered by AI. Analyze CVs
    and job descriptions from text or file uploads, search and manage skills,
    match candidates to positions with configurable scoring weights, and source
    candidate profiles from external databases. All document processing is
    asynchronous — submit documents for analysis, poll for status, and retrieve
    structured results when ready.
  version: 1.0.0
  contact:
    name: Fribl Support
    url: https://fribl.co
servers:
  - url: https://api-service.fribl.co/api/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: CVs
    description: >-
      Upload, analyze, retrieve, update, and delete candidate CVs. CVs can be
      submitted as raw text or as PDF file uploads. Processing is asynchronous —
      use the status endpoint to track progress.
  - name: Jobs
    description: >-
      Upload, analyze, retrieve, update, and delete job descriptions. Jobs can
      be submitted as raw text or as PDF file uploads. Processing is
      asynchronous — use the status endpoint to track progress.
  - name: Matching
    description: >-
      Match analyzed CVs against job descriptions using AI-powered scoring.
      Configure weights across experience, hard skills, soft skills, and
      education dimensions to tailor match results to your hiring priorities.
  - name: Sourcing
    description: >-
      Search for candidate profiles from external sources, retrieve cached
      search results, and ingest selected profiles into your Fribl workspace for
      matching.
  - name: Skills
    description: >-
      Search the Fribl skills taxonomy and retrieve available languages for
      skill translation. These endpoints are publicly accessible and do not
      require authentication.
  - name: Tokens
    description: >-
      Inspect your workspace's usage-based token balance, review the ledger of
      every charge and refund, and read the live per-action price list. Billable
      endpoints deduct tokens and return 402 when the balance is insufficient.
      Tokens are purchased and managed in the Fribl Console
      (https://console.fribl.co).
paths:
  /cvs:
    get:
      tags:
        - CVs
      summary: List all CVs
      description: >-
        Retrieve a paginated list of all CVs in your workspace. Results are
        returned in reverse chronological order with pagination metadata to
        support incremental loading.
      operationId: listCvs
      parameters:
        - name: limit
          in: query
          description: Maximum number of CVs to return per page.
          required: false
          schema:
            type: integer
            default: 10
        - name: offset
          in: query
          description: >-
            Number of CVs to skip before starting to return results. Use in
            combination with `limit` for pagination.
          required: false
          schema:
            type: integer
            default: 0
      responses:
        '200':
          description: A paginated list of CVs.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                  length:
                    type: integer
                    description: Number of CVs returned in this response.
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/CV'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                required:
                  - message
                  - length
                  - data
                  - pagination
        '401':
          $ref: '#/components/responses/Unauthorized'
components:
  schemas:
    CV:
      type: object
      description: A fully analyzed CV with extracted structured data.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the CV.
        information:
          $ref: '#/components/schemas/CvInformation'
        experience:
          type: array
          items:
            $ref: '#/components/schemas/CvExperience'
          description: List of work experience entries.
        education:
          type: array
          items:
            $ref: '#/components/schemas/CvEducation'
          description: List of education entries.
        skill_descriptions:
          type: array
          items:
            type: string
          description: Raw skill descriptions extracted from the CV text.
        source_language:
          type: string
          description: Original content language associated with this CV.
        hard_skills:
          type: array
          items:
            $ref: '#/components/schemas/Skill'
          description: Structured hard skills identified from the CV.
        soft_skills:
          type: array
          items:
            $ref: '#/components/schemas/Skill'
          description: Structured soft skills identified from the CV.
        created_at:
          type: string
          format: date-time
          description: Timestamp when the CV was created.
          example: '2024-01-01T00:00:00.000Z'
        updated_at:
          type: string
          format: date-time
          description: Timestamp when the CV was last updated.
          example: '2024-01-01T00:00:00.000Z'
    Pagination:
      type: object
      description: Pagination metadata for list responses.
      properties:
        total:
          type: integer
          description: Total number of records available.
          example: 100
        offset:
          type: integer
          description: Number of records skipped.
          example: 0
        limit:
          type: integer
          description: Maximum number of records per page.
          example: 10
        has_more:
          type: boolean
          description: Whether additional pages of results are available.
          example: true
      required:
        - total
        - offset
        - limit
        - has_more
    CvInformation:
      type: object
      description: Personal and contact information extracted from a CV.
      properties:
        first_name:
          type: string
          description: Candidate's first name.
          example: John
        last_name:
          type: string
          description: Candidate's last name.
          example: Doe
        email:
          type: array
          items:
            type: string
            format: email
          description: List of email addresses.
          example:
            - john@example.com
        phone:
          type: array
          items:
            type: string
          description: List of phone numbers.
          example:
            - '+31612345678'
        linkedin:
          type:
            - string
            - 'null'
          description: LinkedIn profile URL.
          example: https://linkedin.com/in/johndoe
        github:
          type:
            - string
            - 'null'
          description: GitHub profile URL.
          example: https://github.com/johndoe
        website:
          type:
            - string
            - 'null'
          description: Personal website URL.
          example: https://johndoe.com
        address:
          $ref: '#/components/schemas/Address'
    CvExperience:
      type: object
      description: A single work experience entry from a CV.
      properties:
        title:
          type: string
          description: Job title or role.
          example: Senior Software Engineer
        activity_sector:
          type: string
          description: Industry or sector of the employer.
          example: Technology
        description:
          type: string
          description: Description of responsibilities and achievements.
          example: Led development of microservices architecture
        duration:
          type: integer
          description: Duration of the role in months.
          example: 36
        start_date:
          type: string
          description: Start date in YYYY-MM format.
          example: 2020-01
        end_date:
          type: string
          description: End date in YYYY-MM format. May be empty if the role is current.
          example: 2023-01
    CvEducation:
      type: object
      description: A single education entry from a CV.
      properties:
        degree:
          type: string
          description: Degree obtained or pursued.
          example: Master of Science
        major:
          type: string
          description: Field of study or major.
          example: Computer Science
        score:
          type: string
          description: Grade, GPA, or distinction achieved.
          example: Cum Laude
        institution_name:
          type: string
          description: Name of the educational institution.
          example: University of Amsterdam
        start_date:
          type: string
          description: Start date in YYYY-MM format.
          example: 2015-09
        end_date:
          type: string
          description: End date in YYYY-MM format.
          example: 2017-06
    Skill:
      type: object
      description: >-
        A skill identified from a CV or job description, with type
        classification and match relationship.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the skill.
        skill:
          type: string
          description: Name of the skill.
          example: JavaScript
        type:
          type: string
          enum:
            - hard-skill
            - soft-skill
          description: >-
            Canonical English type enum for the skill. This field is not
            translated.
        relationship:
          type: string
          enum:
            - required
            - optional
            - satisfies
          description: >-
            Canonical English relationship enum for the associated CV or job.
            This field is not translated.
        explanation:
          type:
            - string
            - 'null'
          description: >-
            AI-generated explanation of how this skill was identified or
            evaluated.
          example: Candidate demonstrates strong JavaScript proficiency
    ErrorResponse:
      type: object
      description: Standard error response.
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
    Address:
      type: object
      description: A geographic address.
      properties:
        city:
          type: string
          description: City name.
          example: Amsterdam
        country:
          type: string
          description: Country name.
          example: Netherlands
  responses:
    Unauthorized:
      description: >-
        Authentication failed. Provide a valid API key in the `x-api-key`
        header.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key in UUID format. Include this header with every authenticated
        request.

````