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

# Get customers by customer type



## OpenAPI

````yaml Customer post /getByCustomerType/{customerType}
openapi: 3.0.0
info:
  title: Customer
  description: customer
  version: 1.0.0
servers:
  - url: https://gateway.varchev.com/customer
security:
  - default: []
paths:
  /getByCustomerType/{customerType}:
    post:
      tags:
        - Customer
      summary: Get customers by customer type
      parameters:
        - name: tenantId
          in: header
          description: Tenant/Owner id
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: customerType
          in: path
          description: Customer Status
          required: true
          style: simple
          explode: false
          schema:
            type: array
            items:
              $ref: '#/components/schemas/CustomerType'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FilterRequest'
      responses:
        '200':
          description: Get all customers by type response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetAllCustomerResponse'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - default: []
components:
  schemas:
    CustomerType:
      type: string
      enum:
        - Person
        - Organization
    FilterRequest:
      type: object
      properties:
        type:
          type: string
        created:
          type: string
        status:
          type: string
        pageNumber:
          type: integer
        pageSize:
          type: integer
    GetAllCustomerResponse:
      type: object
      properties:
        customers:
          type: array
          items:
            $ref: '#/components/schemas/Customer'
        pagination:
          $ref: '#/components/schemas/Pagination'
    ErrorResponse:
      properties:
        httpCode:
          type: number
        internalCode:
          type: number
        internalType:
          type: string
        severity:
          type: string
        description:
          type: string
    Customer:
      type: object
      properties:
        id:
          type: string
        customerType:
          $ref: '#/components/schemas/CustomerType'
        customerName:
          type: string
        customerStatus:
          $ref: '#/components/schemas/CustomerStatus'
        categorization:
          $ref: '#/components/schemas/CustomerCategory'
        notifications:
          type: array
          items:
            $ref: '#/components/schemas/CustomerNotification'
        person:
          $ref: '#/components/schemas/Person'
        twofa:
          $ref: '#/components/schemas/twofa'
    Pagination:
      type: object
      properties:
        numberOfPage:
          type: integer
        totalSize:
          type: integer
        currentPage:
          type: integer
    CustomerStatus:
      type: string
      enum:
        - new
        - verified
        - under_verificaiton
        - blacklisted
        - under_investigation
        - dispute
        - on_hold
        - bancrupted
    CustomerCategory:
      type: string
      enum:
        - category1
        - category2
        - category3
    CustomerNotification:
      type: object
      properties:
        notificationType:
          $ref: '#/components/schemas/NotificationType'
        isEnabled:
          type: boolean
    Person:
      type: object
      properties:
        firstName:
          $ref: '#/components/schemas/PersonNamePart'
        lastName:
          $ref: '#/components/schemas/PersonNamePart'
        fullName:
          type: string
        groupId:
          type: string
        gender:
          $ref: '#/components/schemas/Gender'
        dateOfBirth:
          type: string
        placeOfBirth:
          type: string
        nationality:
          type: string
        pinCode:
          type: string
        password:
          type: string
        email:
          type: string
        telephoneNumbers:
          type: array
          items:
            $ref: '#/components/schemas/TelephoneNumber'
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/Addresses'
        documents:
          type: array
          items:
            $ref: '#/components/schemas/Document'
        SecretQuestion:
          type: array
          items:
            $ref: '#/components/schemas/SecretQuestion'
    twofa:
      type: object
      properties:
        targetType:
          $ref: '#/components/schemas/TargetType'
        targetValue:
          type: string
        targetCode:
          type: string
        inputCode:
          type: string
        codematch:
          type: boolean
    NotificationType:
      type: string
      enum:
        - Marketingemails
        - Marketingnotifications
        - Friendsvisibility
    PersonNamePart:
      type: object
      properties:
        name:
          type: string
        order:
          type: integer
        abbreviation:
          type: string
        language:
          type: string
        native:
          type: string
        suffix:
          type: string
        prefix:
          type: string
    Gender:
      type: string
      enum:
        - Male
        - Female
        - Non-binary
        - Transgender
        - Other
        - Prefer not to tell
    TelephoneNumber:
      type: object
      properties:
        phoneType:
          $ref: '#/components/schemas/PhoneType'
        operator:
          type: string
        encoding:
          $ref: '#/components/schemas/Encoding'
        country:
          type: string
        number:
          type: string
        purpose:
          type: string
    Addresses:
      type: object
      properties:
        addressPurpose:
          type: string
        address:
          $ref: '#/components/schemas/Address'
    Document:
      type: object
      properties:
        purpose:
          $ref: '#/components/schemas/DocumentPurpose'
        name:
          type: string
        documentType:
          $ref: '#/components/schemas/DocumentType'
        location:
          type: string
        verificationResponse:
          type: string
        status:
          $ref: '#/components/schemas/DocumentStatus'
        metadata:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalData'
    SecretQuestion:
      type: object
      properties:
        question:
          type: string
        answer:
          type: string
    TargetType:
      type: string
      enum:
        - SMS
        - Email
    PhoneType:
      type: string
      enum:
        - fixed
        - mobile
        - satellite
        - virtual
    Encoding:
      type: string
      enum:
        - numbers
        - international
        - text
    Address:
      type: object
      properties:
        country:
          type: string
        area:
          type: string
        zipCode:
          type: string
        city:
          type: string
        street:
          type: string
        streetNumber:
          type: array
          items:
            type: string
        building:
          type: string
        apartment:
          type: string
        entrance:
          type: string
        floor:
          type: string
        doorNumber:
          type: string
        geoPosition:
          $ref: '#/components/schemas/GeoPosition'
        alternative:
          $ref: '#/components/schemas/ThreeWords'
        relatedToAddress:
          type: array
          items:
            $ref: '#/components/schemas/AddressRelation'
        additionalData:
          type: array
          items:
            $ref: '#/components/schemas/AdditionalData'
    DocumentPurpose:
      type: string
      enum:
        - KYB
        - KYC
        - PEP&SANCTION
    DocumentType:
      type: string
      enum:
        - ID front side
        - ID back side
        - Passport
        - accountAuthority
        - shareholderStructure
        - operationAddress
        - registeredAddress
        - selfie
        - livelinessDetection
    DocumentStatus:
      type: string
      enum:
        - underverification
        - verified
        - declined
        - incomplete
        - expired
    AdditionalData:
      type: object
      properties:
        name:
          type: string
        type:
          $ref: '#/components/schemas/AdditionalDataType'
        value:
          type: string
    GeoPosition:
      type: object
      properties:
        latitude:
          type: number
        longitude:
          type: number
        altitude:
          type: number
    ThreeWords:
      type: object
      properties:
        word1:
          type: string
        word2:
          type: string
        word3:
          type: string
    AddressRelation:
      type: object
      properties:
        relationType:
          $ref: '#/components/schemas/AddressRelationType'
        address:
          type: string
    AdditionalDataType:
      type: string
      enum:
        - Number
        - Boolean
        - json
        - string
    AddressRelationType:
      type: string
      enum:
        - near_by
        - crossing
        - opposite_to
        - inside_of
        - behind
        - infront
  securitySchemes:
    default:
      type: oauth2
      flows:
        implicit:
          authorizationUrl: https://test.com
          scopes: {}

````