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

# Step 3a — Get All Primary Customers

This endpoint retrieves a **list of all primary customers** within the current domain.

The response is paginated and may include filtering or search options depending on your backend configuration. Each customer object in the response contains its profile details, status, and identifiers.

Use this endpoint when you need to display or manage all customers at once, for example in an admin dashboard or during batch processing.


## OpenAPI

````yaml GET /api/customer
openapi: 3.1.0
info:
  description: Api Documentation
  version: '3.0'
  title: Api Documentation
  termsOfService: urn:tos
  contact: {}
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0
servers:
  - url: https://api.artemis.cynopsis.co
security: []
tags:
  - name: app-config-controller
    description: App Config Controller
  - name: asia-verify-controller
    description: Asia Verify Controller
  - name: authentication-controller
    description: Authentication Controller
  - name: authentication-manager-controller
    description: Authentication Manager Controller
  - name: basic-error-controller
    description: Basic Error Controller
  - name: comment-controller
    description: Comment Controller
  - name: customer-controller
    description: Customer Controller
  - name: dashboard-controller
    description: Dashboard Controller
  - name: domain-controller
    description: Domain Controller
  - name: expiring-document-controller
    description: Expiring Document Controller
  - name: hand-shake-controller
    description: Hand Shake Controller
  - name: media-controller
    description: Media Controller
  - name: on-going-due-diligent-controller
    description: On Going Due Diligent Controller
  - name: own-restricted-list-controller
    description: Own Restricted List Controller
  - name: periodic-review-controller
    description: Periodic Review Controller
  - name: quick-scan-controller
    description: Quick Scan Controller
  - name: user-controller
    description: User Controller
paths:
  /api/customer:
    get:
      tags:
        - customer-controller
      summary: getAllCustomers
      operationId: getAllCustomersUsingGET
      parameters:
        - name: activeList
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: boolean
        - name: customerStatusList
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - ACCEPTED
                - CLEARED
                - DRAFT
                - PENDING
                - REJECTED
                - REQUEST_CHANGES
            enum:
              - ACCEPTED
              - CLEARED
              - DRAFT
              - PENDING
              - REJECTED
              - REQUEST_CHANGES
        - name: customerTypeList
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - CORPORATE
                - INDIVIDUAL
            enum:
              - CORPORATE
              - INDIVIDUAL
        - name: size
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: page
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: offset
          in: query
          required: false
          schema:
            type: integer
            format: int64
        - name: paged
          in: query
          required: false
          schema:
            type: boolean
        - name: pageNumber
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: pageSize
          in: query
          required: false
          schema:
            type: integer
            format: int32
        - name: referenceId
          in: query
          required: false
          schema:
            type: string
        - name: riskRatingList
          in: query
          required: false
          explode: true
          schema:
            type: array
            items:
              type: string
              enum:
                - HIGH
                - LOW
                - MEDIUM
                - MEDIUM_HIGH
                - MEDIUM_LOW
                - UNKNOWN
            enum:
              - HIGH
              - LOW
              - MEDIUM
              - MEDIUM_HIGH
              - MEDIUM_LOW
              - UNKNOWN
        - name: searchString
          in: query
          description: searchString
          required: false
          schema:
            type: string
        - name: sort.sorted
          in: query
          required: false
          schema:
            type: boolean
        - name: sort.unsorted
          in: query
          required: false
          schema:
            type: boolean
        - name: unpaged
          in: query
          required: false
          schema:
            type: boolean
        - name: X-Domain-ID
          in: header
          description: X-Domain-ID
          required: true
          schema:
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Page_CustomerResponseDto_'
        '401':
          description: Unauthorized
        '403':
          description: Forbidden
        '404':
          description: Not Found
      security:
        - OAuth2_Client_Credentials: []
        - OAuth2_Password: []
components:
  schemas:
    Page_CustomerResponseDto_:
      type: object
      properties:
        content:
          type: array
          items:
            $ref: '#/components/schemas/CustomerResponseDto'
        empty:
          type: boolean
        first:
          type: boolean
        last:
          type: boolean
        number:
          type: integer
          format: int32
        numberOfElements:
          type: integer
          format: int32
        pageable:
          $ref: '#/components/schemas/Pageable'
        size:
          type: integer
          format: int32
        sort:
          $ref: '#/components/schemas/Sort'
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int32
      title: Page«CustomerResponseDto»
    CustomerResponseDto:
      type: object
      properties:
        active:
          type: boolean
        assignees:
          type: array
          items:
            $ref: '#/components/schemas/UserInfo'
        createdAt:
          $ref: '#/components/schemas/Timestamp'
        createdBy:
          $ref: '#/components/schemas/UserInfo'
        forms:
          $ref: '#/components/schemas/JsonNode'
        id:
          type: integer
          format: int64
        lastRiskAssessment:
          type: string
          format: date-time
        listRoleAsText:
          type: array
          items:
            type: string
        notes:
          $ref: '#/components/schemas/JsonNode'
        other:
          $ref: '#/components/schemas/JsonNode'
        parentId:
          type: integer
          format: int64
        particular:
          $ref: '#/components/schemas/JsonNode'
        profileId:
          type: integer
          format: int64
        profileReferenceId:
          type: string
        referenceId:
          type: string
        riskRating:
          type: string
          enum:
            - HIGH
            - LOW
            - MEDIUM
            - MEDIUM_HIGH
            - MEDIUM_LOW
            - UNKNOWN
        roles:
          type: array
          items:
            $ref: '#/components/schemas/CRPRoleResponseDto'
        status:
          type: string
          enum:
            - ACCEPTED
            - CLEARED
            - DRAFT
            - PENDING
            - REJECTED
            - REQUEST_CHANGES
        type:
          type: string
          enum:
            - CORPORATE
            - INDIVIDUAL
        updatedAt:
          $ref: '#/components/schemas/Timestamp'
        updatedBy:
          $ref: '#/components/schemas/UserInfo'
        vendorEntityGuid:
          type: string
        vendorName:
          type: string
      title: CustomerResponseDto
    Pageable:
      type: object
      properties:
        offset:
          type: integer
          format: int64
        pageNumber:
          type: integer
          format: int32
        pageSize:
          type: integer
          format: int32
        paged:
          type: boolean
        sort:
          $ref: '#/components/schemas/Sort'
        unpaged:
          type: boolean
      title: Pageable
    Sort:
      type: object
      properties:
        empty:
          type: boolean
        sorted:
          type: boolean
        unsorted:
          type: boolean
      title: Sort
    UserInfo:
      type: object
      properties:
        email:
          type: string
        firstName:
          type: string
        fullName:
          type: string
        id:
          type: integer
          format: int64
        lastName:
          type: string
      title: UserInfo
    Timestamp:
      type: object
      properties:
        date:
          type: integer
          format: int32
        day:
          type: integer
          format: int32
        hours:
          type: integer
          format: int32
        minutes:
          type: integer
          format: int32
        month:
          type: integer
          format: int32
        nanos:
          type: integer
          format: int32
        seconds:
          type: integer
          format: int32
        time:
          type: integer
          format: int64
        timezoneOffset:
          type: integer
          format: int32
        year:
          type: integer
          format: int32
      title: Timestamp
    JsonNode:
      type: object
      title: JsonNode
    CRPRoleResponseDto:
      type: object
      properties:
        appointedDate:
          type: string
          format: date
        createdAt:
          $ref: '#/components/schemas/Timestamp'
        createdBy:
          $ref: '#/components/schemas/UserInfo'
        id:
          type: integer
          format: int64
        resignedDate:
          type: string
          format: date
        role:
          type: string
        updatedAt:
          $ref: '#/components/schemas/Timestamp'
        updatedBy:
          $ref: '#/components/schemas/UserInfo'
      title: CRPRoleResponseDto
  securitySchemes:
    OAuth2_Client_Credentials:
      type: oauth2
      flows:
        clientCredentials:
          tokenUrl: https://crm.cynopsis.co/oauth/token
          scopes: {}
    OAuth2_Password:
      type: oauth2
      flows:
        password:
          tokenUrl: https://crm.cynopsis.co/oauth/token
          scopes: {}

````