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

# List partner contacts

> List the contacts for all partners and filter them by partner or email.



## OpenAPI

````yaml /openapi.json get /v3/partner-contacts
openapi: 3.0.1
info:
  title: Kiflo Public API v3
  description: "The Kiflo API allows you to have control over your integration and create the best experiences.\r\n\r\n***\r\n\r\n## Format\r\n\r\nThe API follows the REST standard using JSON to format requests and responses.  \r\nDecimals are formatted using invariant culture, ie: using \".\" (dot) as a decimal sperator and no thousands separator.  \r\nDates are formatted using ISO standards, in UTC format, including the timezone. Ex:  2015-03-25T12:00:00Z\r\n\r\n***\r\n\r\n## Security\r\n\r\nThe API is secured using an API token.\r\n\r\n**How to generate an API Access Token**  \r\n 1. Open your [account settings page](https://app.kiflo.com/account/integration)\r\n 2. Go to the \"API Access Token\" section\r\n 3. Click \"Add\" button\r\n 4. Choose a name that will be used to identify the token and click \"Add\"\r\n 4. Copy the generate token\r\n   \r\n> **Note:** For security reason, the generated API Access Token won't be visible after you close the settings page. Be sure to copy the generated token otherwise you won't be able to get it later.\r\n  \r\n**How to authenticate on the API**  \r\n  \r\nTo authenticate on the API, send the generated token in the Authorization header using the Bearer scheme:  \r\n`Authorization: Bearer #YOUR_GENERATED_TOKEN_HERE#`\r\n"
  version: v3
servers: []
security: []
paths:
  /v3/partner-contacts:
    get:
      tags:
        - PartnerContacts
      summary: List partner contacts
      description: List the contacts for all partners and filter them by partner or email.
      parameters:
        - name: partner_id
          in: query
          description: The specific partner for which contacts must be returned.
          schema:
            type: integer
            format: int32
        - name: level_id
          in: query
          description: The specific program level for which contacts must be returned.
          schema:
            type: array
            items:
              type: integer
              format: int32
        - name: offset
          in: query
          description: >-
            The cursor used in pagination. This is the index of the first
            partner contact to be returned.
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: >-
            The maximum number of partner contacts to be returned. The default
            is 20.
          schema:
            type: integer
            format: int32
        - name: sort_by
          in: query
          description: >-
            The property used to sort the partner contacts by. The default is
            CreationDate.
          schema:
            type: string
            example: CreationDate
          example: CreationDate
        - name: order_by
          in: query
          description: >-
            The sorting direction for the returned partner contacts. Accepted
            values: ASC, DESC. The default is DESC.
          schema:
            type: string
        - name: email
          in: query
          description: The exact email of the partner contact to return.
          schema:
            type: string
      responses:
        '200':
          description: Partner contacts returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PartnerContactListResponseDto'
      security:
        - oauth2:
            - Api
components:
  schemas:
    PartnerContactListResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PartnerContactDto'
          nullable: true
        paginationSkipCount:
          type: integer
          format: int32
        totalCount:
          type: integer
          format: int32
      additionalProperties: false
    PartnerContactDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        email:
          type: string
          nullable: true
        firstname:
          type: string
          nullable: true
        lastname:
          type: string
          nullable: true
        creationDate:
          type: string
          format: date-time
        isMainContact:
          type: boolean
        partnerId:
          type: integer
          format: int32
        userId:
          type: integer
          format: int32
          nullable: true
      additionalProperties: false

````