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

# Search people

> Returns a list of people that match the provided filters. Searches across candidates and client contacts. You can search by full name, email address, or phone number. Results use fuzzy matching for partial matches and minor typos, ranked by relevance.



## OpenAPI

````yaml /openapi-private.json get /search/people
openapi: 3.1.0
info:
  title: Spott API Reference
  version: '0.1'
servers:
  - url: https://api.gospott.com
security: []
tags: []
paths:
  /search/people:
    get:
      tags:
        - Search People
      summary: Search people
      description: >-
        Returns a list of people that match the provided filters. Searches
        across candidates and client contacts. You can search by full name,
        email address, or phone number. Results use fuzzy matching for partial
        matches and minor typos, ranked by relevance.
      operationId: searchPeople
      parameters:
        - name: query
          required: true
          in: query
          schema:
            type: string
            minLength: 1
        - name: limit
          required: false
          in: query
          schema:
            minimum: 0
            maximum: 100
            default: 25
            type: integer
      responses:
        '200':
          description: >-
            Successfully retrieved matching people. Returns a list of candidates
            and client contacts matching the search query.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TenantWidePeopleEntitiesDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ValidationExceptionDto'
                  - $ref: '#/components/schemas/ExceptionBaseDto'
        '401':
          description: Unauthorized - invalid or missing authentication
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
        '500':
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExceptionBaseDto'
      security:
        - x-api-key: []
components:
  schemas:
    TenantWidePeopleEntitiesDto:
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/TenantWidePeopleItemDto'
      required:
        - items
      id: PrivateTenantWidePeopleEntitiesDto
    ValidationExceptionDto:
      type: object
      properties:
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        message:
          type: string
        requestId:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationIssueDto'
      required:
        - status
        - message
        - requestId
        - errors
      id: ValidationExceptionDto
    ExceptionBaseDto:
      type: object
      properties:
        status:
          type: integer
          minimum: -9007199254740991
          maximum: 9007199254740991
        message:
          type: string
        requestId:
          type: string
      required:
        - status
        - message
        - requestId
      id: ExceptionBaseDto
    TenantWidePeopleItemDto:
      oneOf:
        - $ref: '#/components/schemas/TenantWideCandidateItemDto'
        - $ref: '#/components/schemas/TenantWideClientContactItemDto'
      id: PrivateTenantWidePeopleItemDto
    ValidationIssueDto:
      oneOf:
        - $ref: '#/components/schemas/ValidationRequiredDto'
        - $ref: '#/components/schemas/ValidationInvalidEmptyStringDto'
        - $ref: '#/components/schemas/ValidationUnknownFieldDto'
        - $ref: '#/components/schemas/ValidationTooSmallDto'
        - $ref: '#/components/schemas/ValidationTooBigDto'
        - $ref: '#/components/schemas/ValidationInvalidTypeDto'
        - $ref: '#/components/schemas/ValidationInvalidValueDto'
        - $ref: '#/components/schemas/ValidationInvalidEmailDto'
        - $ref: '#/components/schemas/ValidationInvalidUuidDto'
        - $ref: '#/components/schemas/ValidationInvalidUrlDto'
        - $ref: '#/components/schemas/ValidationInvalidDatetimeDto'
        - $ref: '#/components/schemas/ValidationInvalidDateDto'
        - $ref: '#/components/schemas/ValidationInvalidTimeDto'
        - $ref: '#/components/schemas/ValidationInvalidDurationDto'
        - $ref: '#/components/schemas/ValidationInvalidIpv4Dto'
        - $ref: '#/components/schemas/ValidationInvalidIpv6Dto'
        - $ref: '#/components/schemas/ValidationInvalidJsonStringDto'
        - $ref: '#/components/schemas/ValidationInvalidJwtDto'
        - $ref: '#/components/schemas/ValidationInvalidRegexDto'
        - $ref: '#/components/schemas/ValidationInvalidPhoneNumberDto'
        - $ref: '#/components/schemas/ValidationInvalidDomainDto'
        - $ref: '#/components/schemas/ValidationInvalidHttpsUrlDto'
        - $ref: '#/components/schemas/ValidationInvalidTimezoneDto'
        - $ref: '#/components/schemas/ValidationPaginationOffsetExceededDto'
      id: ValidationIssueDto
    TenantWideCandidateItemDto:
      type: object
      properties:
        entityType:
          type: string
          enum:
            - candidate
        id:
          type: string
        firstName:
          type: string
        middleName:
          anyOf:
            - type: string
            - type: 'null'
        lastName:
          type: string
        secondLastName:
          anyOf:
            - type: string
            - type: 'null'
        avatarUrl:
          anyOf:
            - type: string
            - type: 'null'
        phoneNumbers:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        emailAddresses:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        linkedInUrl:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - entityType
        - id
        - firstName
        - middleName
        - lastName
        - secondLastName
        - avatarUrl
        - phoneNumbers
        - emailAddresses
        - linkedInUrl
      id: PrivateTenantWideCandidateItemDto
    TenantWideClientContactItemDto:
      type: object
      properties:
        entityType:
          type: string
          enum:
            - clientContact
        id:
          type: string
        candidateId:
          type: string
        firstName:
          type: string
        middleName:
          anyOf:
            - type: string
            - type: 'null'
        lastName:
          type: string
        secondLastName:
          anyOf:
            - type: string
            - type: 'null'
        avatarUrl:
          anyOf:
            - type: string
            - type: 'null'
        companyId:
          type: string
        companyName:
          type: string
        companyLogoUrl:
          anyOf:
            - type: string
            - type: 'null'
        phoneNumbers:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        emailAddresses:
          anyOf:
            - type: array
              items:
                type: string
            - type: 'null'
        linkedInUrl:
          anyOf:
            - type: string
            - type: 'null'
      required:
        - entityType
        - id
        - candidateId
        - firstName
        - middleName
        - lastName
        - secondLastName
        - avatarUrl
        - companyId
        - companyName
        - companyLogoUrl
        - phoneNumbers
        - emailAddresses
        - linkedInUrl
      id: PrivateTenantWideClientContactItemDto
    ValidationRequiredDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - REQUIRED
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationRequiredDto
    ValidationInvalidEmptyStringDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_EMPTY_STRING
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidEmptyStringDto
    ValidationUnknownFieldDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - UNKNOWN_FIELD
        path:
          type: string
        message:
          type: string
        received: {}
        keys:
          type: array
          items:
            type: string
      required:
        - code
        - path
        - message
        - keys
      id: ValidationUnknownFieldDto
    ValidationTooSmallDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - TOO_SMALL
        path:
          type: string
        message:
          type: string
        received: {}
        minimum:
          type: number
        inclusive:
          type: boolean
        origin:
          type: string
      required:
        - code
        - path
        - message
        - minimum
        - inclusive
        - origin
      id: ValidationTooSmallDto
    ValidationTooBigDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - TOO_BIG
        path:
          type: string
        message:
          type: string
        received: {}
        maximum:
          type: number
        inclusive:
          type: boolean
        origin:
          type: string
      required:
        - code
        - path
        - message
        - maximum
        - inclusive
        - origin
      id: ValidationTooBigDto
    ValidationInvalidTypeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TYPE
        path:
          type: string
        message:
          type: string
        received: {}
        expected:
          type: string
      required:
        - code
        - path
        - message
        - expected
      id: ValidationInvalidTypeDto
    ValidationInvalidValueDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_VALUE
        path:
          type: string
        message:
          type: string
        received: {}
        expected: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidValueDto
    ValidationInvalidEmailDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_EMAIL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidEmailDto
    ValidationInvalidUuidDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_UUID
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidUuidDto
    ValidationInvalidUrlDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_URL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidUrlDto
    ValidationInvalidDatetimeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DATETIME
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDatetimeDto
    ValidationInvalidDateDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DATE
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDateDto
    ValidationInvalidTimeDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TIME
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidTimeDto
    ValidationInvalidDurationDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DURATION
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDurationDto
    ValidationInvalidIpv4Dto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_IPV4
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidIpv4Dto
    ValidationInvalidIpv6Dto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_IPV6
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidIpv6Dto
    ValidationInvalidJsonStringDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JSON_STRING
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidJsonStringDto
    ValidationInvalidJwtDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_JWT
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidJwtDto
    ValidationInvalidRegexDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_REGEX
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidRegexDto
    ValidationInvalidPhoneNumberDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_PHONE_NUMBER
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidPhoneNumberDto
    ValidationInvalidDomainDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_DOMAIN
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidDomainDto
    ValidationInvalidHttpsUrlDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_HTTPS_URL
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidHttpsUrlDto
    ValidationInvalidTimezoneDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - INVALID_TIMEZONE
        path:
          type: string
        message:
          type: string
        received: {}
      required:
        - code
        - path
        - message
      id: ValidationInvalidTimezoneDto
    ValidationPaginationOffsetExceededDto:
      type: object
      properties:
        code:
          type: string
          enum:
            - PAGINATION_OFFSET_EXCEEDED
        path:
          type: string
        message:
          type: string
        received: {}
        maximum:
          type: number
      required:
        - code
        - path
        - message
        - maximum
      id: ValidationPaginationOffsetExceededDto
  securitySchemes:
    x-api-key:
      type: apiKey
      name: x-api-key
      in: header
      description: >-
        API key for authentication. Get your API key from Settings → API Keys in
        your Spott dashboard.

````