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

# Get All Customers

> Retrieves all customers with advanced filtering and page-based pagination.



## OpenAPI

````yaml api-reference/openapiFiles/customers/Get/openapi.json get /customers
openapi: 3.0.1
info:
  title: Get All Customers
  description: Retrieves all customers with advanced filtering and page-based pagination.
  version: 1.0.0
servers:
  - url: https://api.yourjobsearchgenius.ai/v1
    description: Production server
security:
  - bearerAuth: []
paths:
  /customers:
    get:
      tags:
        - Customers
      summary: Get All Customers
      description: >-
        Retrieves all customers with advanced filtering and page-based
        pagination.
      parameters:
        - name: page
          in: query
          description: 'Page number (default: 1)'
          required: false
          schema:
            type: integer
            default: 1
            minimum: 1
        - name: limit
          in: query
          description: 'Number of records per page (default: 10)'
          required: false
          schema:
            type: integer
            default: 10
            minimum: 1
            maximum: 100
        - name: email
          in: query
          description: Search by customer email
          required: false
          schema:
            type: string
        - name: uniqueCustomerId
          in: query
          description: Search by unique customer ID
          required: false
          schema:
            type: string
        - name: accountStatus
          in: query
          description: Filter by account status
          required: false
          schema:
            type: string
            enum:
              - active
              - inactive
        - name: onboardingCompleted
          in: query
          description: Filter by onboarding completion status
          required: false
          schema:
            type: boolean
        - name: lastLoginDateFrom
          in: query
          description: Filter by last login date range (ISO format)
          required: false
          schema:
            type: string
            format: date-time
        - name: lastLoginDateTo
          in: query
          description: Filter by last login date range (ISO format)
          required: false
          schema:
            type: string
            format: date-time
        - name: createdAtFrom
          in: query
          description: Filter by creation date range (ISO format)
          required: false
          schema:
            type: string
            format: date-time
        - name: createdAtTo
          in: query
          description: Filter by creation date range (ISO format)
          required: false
          schema:
            type: string
            format: date-time
        - name: lastLoginDaysAgo
          in: query
          description: Filter users who logged in X days ago
          required: false
          schema:
            type: integer
            minimum: 0
        - name: hasNoContacts
          in: query
          description: Filter users with no contacts
          required: false
          schema:
            type: boolean
        - name: hasNoDocuments
          in: query
          description: Filter users with no cover letters
          required: false
          schema:
            type: boolean
        - name: hasNoResumes
          in: query
          description: Filter users with no resumes
          required: false
          schema:
            type: boolean
        - name: hasNoJobTracking
          in: query
          description: Filter users with no tracked jobs
          required: false
          schema:
            type: boolean
        - name: hasNoMockInterviews
          in: query
          description: Filter users with no mock interviews
          required: false
          schema:
            type: boolean
        - name: hasNoInterviewResponses
          in: query
          description: Filter users with no interview responses
          required: false
          schema:
            type: boolean
        - name: hasNoOfferNegotiations
          in: query
          description: Filter users with no offer negotiations
          required: false
          schema:
            type: boolean
      responses:
        '200':
          description: Successfully retrieved customers
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Customer'
                  pagination:
                    $ref: '#/components/schemas/Pagination'
                  success:
                    type: boolean
                    example: true
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Customer:
      type: object
      properties:
        _id:
          type: string
          description: Customer ID
          example: customer_id
        firstName:
          type: string
          description: Customer's first name
          example: John
        lastName:
          type: string
          description: Customer's last name
          example: Doe
        email:
          type: string
          description: Customer's email address
          example: john@example.com
        subscriptionId:
          type: string
          description: Subscription ID
          example: subscription_id
      required:
        - _id
        - firstName
        - lastName
        - email
        - subscriptionId
    Pagination:
      type: object
      properties:
        totalCount:
          type: integer
          description: Total number of customers matching the filters
          example: 150
        totalPages:
          type: integer
          description: Total number of pages
          example: 15
        currentPage:
          type: integer
          description: Current page number
          example: 1
        limit:
          type: integer
          description: Number of records per page
          example: 10
        hasNextPage:
          type: boolean
          description: Boolean indicating if there's a next page
          example: true
        hasPrevPage:
          type: boolean
          description: Boolean indicating if there's a previous page
          example: false
        nextPage:
          type: integer
          nullable: true
          description: Next page number (null if no next page)
          example: 2
        prevPage:
          type: integer
          nullable: true
          description: Previous page number (null if no previous page)
          example: null
        nextUrl:
          type: string
          nullable: true
          description: Complete URL for the next page
          example: https://api.com/v1/customers?page=2&limit=10
        prevUrl:
          type: string
          nullable: true
          description: Complete URL for the previous page
          example: null
      required:
        - totalCount
        - totalPages
        - currentPage
        - limit
        - hasNextPage
        - hasPrevPage
        - nextPage
        - prevPage
        - nextUrl
        - prevUrl
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message
          example: Invalid request parameters
        success:
          type: boolean
          example: false
      required:
        - error
        - success
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````