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

# Get new joiners

> Paginated, filterable, sortable list of new joiner rows for the organization. When startDateFrom is omitted, the domain applies a default 60-day lookback floor — supply it explicitly to widen the window beyond 60 days.



## OpenAPI

````yaml /openapi.json get /api/v1/new-joiners
openapi: 3.1.0
info:
  title: Firstbase API Specification Beta
  description: Integration endpoints for Firstbase
  version: 0.1.0
servers:
  - url: /
    description: Default
security:
  - ApiKey: []
tags:
  - name: Inventory Orders
    description: Create and manage inventory orders
  - name: Shipment Notices V1
    description: 'Query shipment notice orders (V1: package items expose `inventories` list)'
  - name: Packages
    description: ''
  - name: Categories
    description: Query available categories for asset creation
  - name: Catalog
    description: ''
  - name: New Joiners
    description: New joiner provisioning pipeline for the organization
  - name: Orders
    description: ''
  - name: People
    description: >-
      Manage the users of Firstbase for your organization. API follows the SCIM
      standard.
    externalDocs:
      url: https://scim.cloud/
  - name: People — Lifecycle
    description: Offboard and reactivate users.
  - name: Assets
    description: Manage inventory assets
  - name: Regions V1
    description: Query regions (V1)
  - name: Warehouses V1
    description: Query warehouses (V1)
  - name: Brands
    description: Query available brands for asset creation
  - name: Inventory
    description: ''
  - name: Replacements
    description: Create and manage equipment replacements
  - name: Offices
    description: Manage and query office locations for the authenticated organization
  - name: Returns
    description: Return and Replacements
paths:
  /api/v1/new-joiners:
    get:
      tags:
        - New Joiners
      summary: Get new joiners
      description: >-
        Paginated, filterable, sortable list of new joiner rows for the
        organization. When startDateFrom is omitted, the domain applies a
        default 60-day lookback floor — supply it explicitly to widen the window
        beyond 60 days.
      operationId: getNewJoiners
      parameters:
        - name: page
          in: query
          description: Page number (1-based)
          required: false
          schema:
            type: integer
            format: int32
            default: 1
            description: Page number (1-based)
            example: 1
            minimum: 1
          example: 1
        - name: size
          in: query
          description: Page size (1–200)
          required: false
          schema:
            type: integer
            format: int32
            default: 25
            description: Page size (1–200)
            example: 25
            maximum: 200
            minimum: 1
          example: 25
        - name: sortBy
          in: query
          description: >-
            Sort field: startDate, urgency, equipmentReadiness, employee,
            country, personStatus, estimatedDeliveryDate, reminderCount,
            lastReminderSentAt, provisioningOutcome, orderDate
          required: false
          schema:
            type: string
            description: >-
              Sort field: startDate, urgency, equipmentReadiness, employee,
              country, personStatus, estimatedDeliveryDate, reminderCount,
              lastReminderSentAt, provisioningOutcome, orderDate
            example: startDate
          example: startDate
        - name: sortDirection
          in: query
          description: Sort direction (ASC, DESC)
          required: false
          schema:
            type: string
            description: Sort direction (ASC, DESC)
            example: ASC
          example: ASC
        - name: searchString
          in: query
          description: Free-text search across name and email
          required: false
          schema:
            type: string
            description: Free-text search across name and email
        - name: equipmentReadiness
          in: query
          description: 'Filter by equipment readiness: NOT_STARTED, ORDER_PLACED, READY'
          required: false
          schema:
            type: array
            description: 'Filter by equipment readiness: NOT_STARTED, ORDER_PLACED, READY'
            items:
              type: string
              description: 'Filter by equipment readiness: NOT_STARTED, ORDER_PLACED, READY'
              enum:
                - NOT_STARTED
                - ORDER_PLACED
                - READY
        - name: urgency
          in: query
          description: 'Filter by urgency: ON_TRACK, AT_RISK, LATE'
          required: false
          schema:
            type: array
            description: 'Filter by urgency: ON_TRACK, AT_RISK, LATE'
            items:
              type: string
              description: 'Filter by urgency: ON_TRACK, AT_RISK, LATE'
              enum:
                - ON_TRACK
                - AT_RISK
                - LATE
        - name: countryCodes
          in: query
          description: Filter by ISO country codes
          required: false
          schema:
            type: array
            description: Filter by ISO country codes
            items:
              type: string
              description: Filter by ISO country codes
        - name: provisioningOutcome
          in: query
          description: 'Filter by provisioning outcome: ON_TIME, LATE'
          required: false
          schema:
            type: array
            description: 'Filter by provisioning outcome: ON_TIME, LATE'
            items:
              type: string
              description: 'Filter by provisioning outcome: ON_TIME, LATE'
              enum:
                - ON_TIME
                - LATE
        - name: startDateFrom
          in: query
          description: >-
            Start date lower bound (ISO-8601). When omitted, a default 60-day
            lookback floor is applied. Supply explicitly to widen the window.
          required: false
          schema:
            type: string
            format: date
            description: >-
              Start date lower bound (ISO-8601). When omitted, a default 60-day
              lookback floor is applied. Supply explicitly to widen the window.
            example: '2026-01-01'
          example: '2026-01-01'
        - name: startDateTo
          in: query
          description: Start date upper bound (ISO-8601)
          required: false
          schema:
            type: string
            format: date
            description: Start date upper bound (ISO-8601)
            example: '2026-12-31'
          example: '2026-12-31'
        - name: userStatus
          in: query
          description: 'Filter by person status: INVITED, ACTIVE, INACTIVE, etc.'
          required: false
          schema:
            type: array
            description: 'Filter by person status: INVITED, ACTIVE, INACTIVE, etc.'
            items:
              type: string
              description: 'Filter by person status: INVITED, ACTIVE, INACTIVE, etc.'
              enum:
                - INVITED
                - ACTIVE
                - INACTIVE
                - DELETED
                - OFFBOARDING
                - CANNOT_REACTIVATE
        - name: procurementMethod
          in: query
          description: 'Filter by procurement method: WAREHOUSE, DROPSHIP, MIXED'
          required: false
          schema:
            type: array
            description: 'Filter by procurement method: WAREHOUSE, DROPSHIP, MIXED'
            items:
              type: string
              description: 'Filter by procurement method: WAREHOUSE, DROPSHIP, MIXED'
              enum:
                - DROPSHIP
                - MIXED
                - WAREHOUSE
      responses:
        '200':
          description: New joiners retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PageDTO'
        '400':
          description: Bad request (invalid parameter)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '404':
          description: Not Found
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
        '409':
          description: Conflict
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PublicApiHttpErrors'
components:
  schemas:
    PageDTO:
      type: object
      description: >-
        Standard paginated response wrapper used by all list endpoints. Use
        `pageNumber` and `size` to paginate; stop when `pageNumber >=
        totalPages`.
      properties:
        size:
          type: integer
          format: int32
          description: Maximum number of items per page as requested
          example: 10
        totalElements:
          type: integer
          format: int64
          description: Total number of items matching the query across all pages
          example: 42
        totalPages:
          type: integer
          format: int32
          description: Total number of pages based on totalElements / size
          example: 5
        pageNumber:
          type: integer
          format: int32
          description: Current page number, 1-based (first page = 1)
          example: 1
        data:
          type: array
          description: Items in the current page; may be fewer than `size` on the last page
          items: {}
      required:
        - data
        - pageNumber
        - size
        - totalElements
        - totalPages
    PublicApiHttpErrors:
      type: object
      properties:
        errors:
          type: array
          items:
            $ref: '#/components/schemas/PublicApiError'
      required:
        - errors
    PublicApiError:
      type: object
      properties:
        detail:
          type: string
          description: Human-readable description of the error
          example: Invalid request
        source:
          type: string
          description: >-
            Entity or field path that caused the error (for example order,
            shipmentNotice, or person:email)
          example: request
      required:
        - detail
        - source
  securitySchemes:
    ApiKey:
      type: apiKey
      description: Prefix the value with "ApiKey" to indicate the custom authorization type
      name: Authorization
      in: header

````