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

> List leads and filter them by partner, status or any custom properties.
            
To filter leads on custom property, just add the property with its exact value as a query parameter:  
`myCustomProp=ThisIsAValue`  
This will return the leads where myCustomProp exactly matches the provided value.



## OpenAPI

````yaml /openapi.json get /v3/leads
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/leads:
    get:
      tags:
        - Leads
      summary: List leads
      description: "List leads and filter them by partner, status or any custom properties.\r\n            \r\nTo filter leads on custom property, just add the property with its exact value as a query parameter:  \r\n`myCustomProp=ThisIsAValue`  \r\nThis will return the leads where myCustomProp exactly matches the provided value."
      parameters:
        - name: partnerId
          in: query
          description: The list of partner IDs to filter the leads on.
          schema:
            type: integer
            format: int32
        - name: offset
          in: query
          description: >-
            The cursor used in pagination. This is the index of the first lead
            to be returned.
          schema:
            type: integer
            format: int32
        - name: limit
          in: query
          description: The maximum number of leads to be returned. The default is 20.
          schema:
            type: integer
            format: int32
        - name: sort_by
          in: query
          description: The property used to sort the leads by. The default is CreationDate.
          schema:
            type: string
            example: CreationDate
          example: CreationDate
        - name: order_by
          in: query
          description: >-
            The sorting direction for the returned leads. Accepted values: ASC,
            DESC. The default is DESC.
          schema:
            type: string
        - name: status
          in: query
          schema:
            type: array
            items:
              $ref: '#/components/schemas/LeadStatus'
      responses:
        '200':
          description: Leads returned
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeadListResponseDto'
      security:
        - oauth2:
            - Lead.View
            - Api
components:
  schemas:
    LeadStatus:
      enum:
        - Unknown
        - Unassigned
        - Pending
        - Accepted
        - Refused
        - Reassigned
        - Converted
        - Abandoned
      type: string
    LeadListResponseDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/LeadDto'
          nullable: true
        paginationSkipCount:
          type: integer
          format: int32
        totalCount:
          type: integer
          description: >-
            Gets or sets the total number of items that could be returned by
            this command (without pagination).
          format: int32
      additionalProperties: false
    LeadDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        creationDate:
          type: string
          format: date-time
        properties:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
        partnerId:
          type: integer
          format: int32
          nullable: true
        sourcePartnerId:
          type: integer
          format: int32
          nullable: true
        userPartnerOwnerId:
          type: integer
          format: int32
          nullable: true
        dealId:
          type: integer
          format: int32
          nullable: true
        customerId:
          type: integer
          format: int32
          nullable: true
        deadLine:
          type: string
          format: date-time
          nullable: true
        assignedDate:
          type: string
          format: date-time
          nullable: true
        acceptedDate:
          type: string
          format: date-time
          nullable: true
        refusedDate:
          type: string
          format: date-time
          nullable: true
        convertedDate:
          type: string
          format: date-time
          nullable: true
        abandonedDate:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/LeadStatus'
        partnerName:
          type: string
          nullable: true
        dealName:
          type: string
          nullable: true
        customerName:
          type: string
          nullable: true
        source:
          $ref: '#/components/schemas/DataSource'
        transferredLeadId:
          type: integer
          format: int32
          nullable: true
        currency:
          type: string
          nullable: true
        ownerUserId:
          type: integer
          format: int32
          nullable: true
        owner:
          $ref: '#/components/schemas/UserDto'
      additionalProperties: false
    DataSource:
      enum:
        - Unknown
        - Website
        - Partner
        - Api
        - Zapier
        - Tenant
        - System
        - HubSpot
        - Stripe
        - PartnerDirectory
      type: string
    UserDto:
      type: object
      properties:
        id:
          type: integer
          format: int32
        email:
          type: string
          nullable: true
        firstName:
          type: string
          nullable: true
        lastName:
          type: string
          nullable: true
      additionalProperties: false

````