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

# List leads

> Answers with the paginated envelope: the matching leads in `data`, plus `hasMore`, `limit`, `offset` and `total`.



## OpenAPI

````yaml /api-reference/openapi.json get /v1/leads
openapi: 3.0.3
info:
  title: Leadstaker API
  version: 1.0.0
  description: Public REST API for Leadstaker projects.
servers:
  - url: https://n-api.leadstaker.com
    description: Production
security: []
tags:
  - name: Leads
    description: >-
      Chatbot conversations captured in a project, with the answers given and
      where the visitor came from.
  - name: Fields
    description: >-
      Custom field definitions, both the built-in ones and the ones a project
      creates.
  - name: Field groups
    description: Sections that organize custom fields in the interface.
  - name: Deals
    description: Opportunities moving through a pipeline, each tied to a contact.
  - name: Contacts
    description: >-
      People inside a project, holding the custom field values collected about
      them.
  - name: Messages
    description: Individual messages inside a chat, inbound and outbound.
  - name: Chats
    description: Conversations with a contact over a connected channel.
  - name: Loss reasons
    description: The catalog of reasons a deal can be marked as lost.
  - name: Pipelines
    description: Ordered sets of stages a deal travels through.
  - name: Stages
    description: Steps inside a pipeline, including the built-in open and closed ones.
  - name: Tags
    description: Free-form labels attached to deals.
  - name: Notes
    description: >-
      Free text attached to a contact or a deal, written by a user, an agent, or
      the system.
  - name: Tasks
    description: >-
      Follow-up activities with a due date, attached to a deal and assigned to a
      user.
paths:
  /v1/leads:
    get:
      tags:
        - Leads
      summary: List leads
      description: >-
        Answers with the paginated envelope: the matching leads in `data`, plus
        `hasMore`, `limit`, `offset` and `total`.
      operationId: getLeads
      parameters:
        - name: '[limit]'
          in: query
          required: false
          description: How many records to return, at most 250.
          schema:
            type: integer
            minimum: 1
            maximum: 250
        - name: '[offset]'
          in: query
          required: false
          description: How many records to skip.
          schema:
            type: integer
            minimum: 0
        - name: '[project]'
          in: query
          required: false
          description: Comma-separated list of fields to return, e.g. `id,createdAt`.
          schema:
            type: string
            minLength: 1
        - name: '[with]'
          in: query
          required: false
          description: Comma-separated list of relations to populate.
          schema:
            type: string
            minLength: 1
        - name: source
          in: query
          required: false
          description: Only leads captured by this chatbot id.
          schema:
            type: string
            minLength: 1
        - name: ads
          in: query
          required: false
          description: >-
            Filters by the ad click id found in `originURL`. `organic` means
            none of them.
          schema:
            type: string
            enum:
              - all
              - organic
              - google
              - meta
              - tiktok
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          minLength: 1
                        projectId:
                          type: string
                          minLength: 1
                        sourceId:
                          type: string
                          minLength: 1
                        sessionId:
                          type: string
                          minLength: 1
                        isComplete:
                          type: boolean
                        answers:
                          type: array
                          items:
                            type: object
                            properties:
                              block:
                                type: string
                                minLength: 1
                              flow:
                                type: string
                                minLength: 1
                              name:
                                type: string
                                minLength: 1
                              inputName:
                                type: string
                                minLength: 1
                              inputType:
                                type: string
                                minLength: 1
                              type:
                                type: string
                                enum:
                                  - answer
                                  - options
                              text:
                                type: string
                              value:
                                type: string
                            additionalProperties: false
                        originURL:
                          type: string
                          minLength: 1
                        urlParams:
                          type: object
                          additionalProperties:
                            type: string
                        createdAt:
                          type: string
                          format: date-time
                        updatedAt:
                          type: string
                          format: date-time
                      required:
                        - id
                        - projectId
                        - isComplete
                        - answers
                        - createdAt
                        - updatedAt
                      additionalProperties: false
                  hasMore:
                    type: boolean
                  limit:
                    type: number
                  offset:
                    type: number
                  total:
                    type: number
                required:
                  - data
                  - hasMore
                  - limit
                  - offset
                  - total
                additionalProperties: false
              example:
                data:
                  - id: 6712a4d95b38ee0011c9f2b7
                    projectId: 665f1c2e8a94b70012d4e9a1
                    sourceId: 66eab3c47d21ff0011b2d6f1
                    sessionId: a3f9c1e2-7b64-4d18-9c02-5f8e1d7a4b60
                    isComplete: true
                    answers:
                      - block: b1
                        flow: main
                        name: name
                        inputName: Nome
                        inputType: text
                        type: answer
                        text: Qual o seu nome?
                        value: Maria Andrade
                      - block: b2
                        flow: main
                        name: phone
                        inputName: Telefone
                        inputType: phone
                        type: answer
                        text: Qual o seu WhatsApp?
                        value: '+5551999999999'
                    originURL: https://cliente.com.br/lp?utm_source=meta&fbclid=IwAR123
                    urlParams:
                      utm_source: meta
                      utm_campaign: black-friday
                    createdAt: '2026-01-12T14:08:00.000Z'
                    updatedAt: '2026-01-12T14:11:00.000Z'
                hasMore: false
                limit: 10
                offset: 0
                total: 1
        '401':
          description: Missing or invalid credentials
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - apiKey: []
components:
  schemas:
    Error:
      type: object
      required:
        - errorCode
        - message
        - status
      properties:
        errorCode:
          type: string
        message:
          type: string
        status:
          type: integer
        errors:
          type: array
          items:
            type: object
            required:
              - field
              - code
              - message
            properties:
              field:
                type: string
              code:
                type: string
              message:
                type: string
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key

````