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

# Search a customer

> Search a customer by firstname, lastname contractId



## OpenAPI

````yaml https://dev.enneo.dev/api/mind/docs/open-api get /customer/search
openapi: 3.0.0
info:
  version: '1'
  title: enneo.MIND API
  description: This describes the API of enneo Mind, the main ticketing backend
  contact:
    name: enneo GmbH
    email: richard@enneo.ai
  license:
    name: Proprietary software
    url: https://enneo.ai
servers:
  - url: https://demo.enneo.ai/api/mind
    description: Production server, demo client
  - url: https://main.enneo.dev/api/mind
    description: Development main branch
  - url: http://localhost:8005/api/mind
    description: Local development server
security:
  - bearerAuth:
      - api
  - cookieAuth:
      - api
paths:
  /customer/search:
    get:
      tags:
        - Customer
      summary: Search a customer
      description: Search a customer by firstname, lastname contractId
      operationId: searchCustomer
      parameters:
        - name: q
          in: query
          required: true
          description: The keyword to search
          schema:
            type: string
          example: Richard
        - $ref: '#/components/parameters/limitParam'
        - $ref: '#/components/parameters/offsetParam'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: integer
                    firstname:
                      type: string
                    lastname:
                      type: string
                    address:
                      type: string
                    phone:
                      type: string
                    email:
                      type: string
                    contractIds:
                      type: array
                      items:
                        type: string
              example:
                - id: 826907
                  firstname: Richard
                  lastname: Lohwasser
                  address: Hauptstraße 1, 12345 Berlin
                  phone: 49123456789
                  email: richard@lohwasser.de
                  contractIds:
                    - '715559'
        '403':
          description: Unauthorized
        '404':
          description: Customer not found
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    limitParam:
      name: limit
      in: query
      required: false
      description: The number of items to return
      schema:
        type: integer
        default: 100
        minimum: 1
        maximum: 1000
      example: 100
    offsetParam:
      name: offset
      in: query
      required: false
      description: The number of items to skip
      schema:
        type: integer
        default: 0
        minimum: 0
      example: 0
  schemas:
    Error:
      type: object
      description: Data format of Enneo error messages
      properties:
        error:
          type: string
          example: Contract 121 could not be processed
          description: Readable error message that should be shown to the user
        details:
          type: string
          example: >-
            Uncatched null point exception in testFunction() in
            /app/src/file:212
          description: Not easily readable error message that is for the developer
        txId:
          type: string
          example: c916167c94
          description: >-
            Internal transaction id. Useful for debugging. Corresponds to the
            OpenTelemetry trace ID.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: JWT-based authentication
      x-scopes:
        api: Full access to the API
    cookieAuth:
      type: apiKey
      in: cookie
      name: connect.sid
      description: Cookie-based authentication
      x-scopes:
        api: Full access to the API

````