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

# Search customers

> Returns a list of customers that match the query parameters. The customers are sorted by external id.



## OpenAPI

````yaml /openapi/customer-20260203.json get /accounts/customers
openapi: 3.1.0
info:
  title: CUSTOMER
  termsOfService: urn:tos
  license:
    name: Apache 2.0
    url: https://springdoc.org
  version: '2026-02-03'
  description: ''
servers:
  - url: https://api-sb.meld.io
    description: Meld API sandbox
  - url: https://api.meld.io
    description: Meld API production
security: []
tags:
  - name: Virtual Account
    description: ''
  - name: Customers
paths:
  /accounts/customers:
    get:
      tags:
        - Customers
      summary: Search customers
      description: >-
        Returns a list of customers that match the query parameters. The
        customers are sorted by external id.
      operationId: accounts-customers-search
      parameters:
        - name: customerIds
          in: query
          description: >-
            Meld generated unique identifier for your customer. This should be
            used to track customer activity. This takes a comma separated list
            of customer ids.
          required: false
          schema:
            type: string
            default: ''
        - name: externalCustomerId
          in: query
          description: >-
            Your unique identifier for your customer. If maintaining your own
            customer management system this can also be used for tracking
            customer activity.
          required: false
          schema:
            type: string
            default: ''
        - name: email
          in: query
          description: Customer's email
          required: false
          schema:
            type: string
            default: ''
        - name: phone
          in: query
          description: Customer's phone
          required: false
          schema:
            type: string
            default: ''
        - name: status
          in: query
          description: Customer's status
          required: false
          schema:
            type: string
            default: ''
            enum:
              - ACTIVE
              - INACTIVE
        - name: type
          in: query
          description: Customer type
          required: false
          schema:
            type: string
            default: ''
            enum:
              - INDIVIDUAL
              - BUSINESS
        - name: before
          in: query
          description: >-
            Key of customer to get before. The next batch of results will be
            immediately before this customer.
          required: false
          schema:
            type: string
            default: ''
        - name: after
          in: query
          description: >-
            Key of customer to get after. The next batch of results will be
            immediately after this customer.
          required: false
          schema:
            type: string
            default: ''
        - name: limit
          in: query
          description: |-
            Limits number of returned customers.

            *Default value*: 10 or the number of customer ids provided

            *Minimum value*: 1

            *Maximum value*: 100
          required: false
          schema:
            type: string
            default: ''
      responses:
        '200':
          description: Customers are returned
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/CustomerPage'
        '400':
          description: 'Bad Request : check request values and format'
        '401':
          description: Invalid credentials
        '403':
          description: Unauthenticated or authenticated with insufficient access
        '500':
          description: >-
            Server Error. This applies to all 5xx errors, including but not
            limited to 500, 501, 502, 503, and 504 errors. You should treat all
            of these errors the same.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    CustomerPage:
      type: object
      properties:
        count:
          type: integer
          format: int32
          description: Number of customers returned.
        customers:
          type: array
          description: Customers
          items:
            $ref: '#/components/schemas/Customer20230401'
        remaining:
          type: integer
          format: int32
          description: >-
            Number of remaining customers before/after this page, depending the
            direction this page was selected.
    Customer20230401:
      type: object
      properties:
        accountId:
          type: string
          description: >-
            The unique identifier of your account with Meld. This id will be the
            same for all calls to Meld endpoints made from this account.
        addresses:
          type: array
          description: List of customer addresses
          items:
            $ref: '#/components/schemas/CustomerAddress'
        dateOfBirth:
          type: string
          description: Customer's date of birth in ISO format (yyyy-MM-dd)
        email:
          type: string
          description: Customer email
        externalId:
          type: string
          description: Externally assigned id for the customer
        id:
          type: string
          description: Unique identifier for this customer
        key:
          type: string
          description: >-
            When this customer is part of a paginated list, this key represents
            its position in the list.
        name:
          description: Customer name
          allOf:
            - $ref: '#/components/schemas/CustomerName'
        phone:
          type: string
          description: Customer phone
        previouslyUsedOnramps:
          type: array
          description: >-
            Onramps the customer has successfully transacted on, with the
            timestamp of the most recent successful transaction for each. Empty
            if the customer has no prior successful onramp transactions.
          items:
            $ref: '#/components/schemas/PreviouslyUsedOnramp'
        serviceProviderCustomers:
          type: array
          description: List of customers created with service providers.
          items:
            $ref: '#/components/schemas/ServiceProviderCustomer'
        status:
          type: string
          description: Customer status
          enum:
            - ACTIVE
            - INACTIVE
        type:
          type: string
          description: Customer type
          enum:
            - INDIVIDUAL
            - BUSINESS
    CustomerAddress:
      type: object
      description: Customer address
      properties:
        addressDetails:
          description: Address details.
          allOf:
            - $ref: '#/components/schemas/CustomerAddressDetails'
        customerId:
          type: string
          description: Customer id
        id:
          type: string
          description: Unique identifier for this customer address
        status:
          type: string
          description: Address status
          enum:
            - ACTIVE
            - INACTIVE
        type:
          type: string
          description: Address type
          enum:
            - BILLING
            - SHIPPING
            - RESIDENCE
    CustomerName:
      type: object
      properties:
        firstName:
          type: string
          description: First name
        lastName:
          type: string
          description: Last name
    PreviouslyUsedOnramp:
      type: object
      properties:
        previouslyUsed:
          type: string
          format: date-time
          description: >-
            Timestamp (UTC) of the most recent successful transaction on this
            onramp
        serviceProvider:
          type: string
          description: Onramp service provider the customer has successfully used before
          enum:
            - ACROSS
            - AEROPAY
            - AKOYA
            - ALCHEMYPAY
            - APPLEPAY
            - AUTHORIZENET
            - BANXA
            - BILIRA
            - BINANCECONNECT
            - BINANCEPAY
            - BLOCKCHAINDOTCOM
            - BOOMFI
            - BRAINTREE
            - BRALE
            - BTCDIRECT
            - CASHAPP
            - CHECKOUT
            - CIRCLE
            - COINBASEPAY
            - COINFLOW
            - DUENETWORK
            - ELDORADO
            - FINICITY
            - FLASHNET
            - FONBNK
            - GUARDARIAN
            - HARBOUR
            - KOYWE
            - KRYPTONIM
            - MERCURYO
            - MESH
            - MESO
            - MOONPAY
            - MOOV
            - MX
            - NMI
            - NOAH
            - ONMETA
            - ONRAMPMONEY
            - PAYBIS
            - PAYPAL
            - PLAID
            - RAMP
            - REVOLUT
            - ROBINHOOD
            - ROUTERPROTOCOL
            - SALTEDGE
            - SALTEDGEPARTNERS
            - SARDINE
            - SHIFT4
            - SHOPIFY
            - SIMPLEX
            - SKRILLCRYPTO
            - SQUARE
            - STRIPE
            - SUMSUB
            - SWAPPED
            - TANGOCARD
            - TELLER
            - TOPPER
            - TRANSAK
            - TREMENDOUS
            - TRANSFI
            - UNLIMIT
            - UPHOLD
            - WYRE
            - XANPOOL
            - YELLOWCARD
            - YODLEE
    ServiceProviderCustomer:
      type: object
      properties:
        createdAt:
          type: string
          format: date-time
        customerId:
          type: string
        deletedAt:
          type: string
          format: date-time
        id:
          type: string
        kyc:
          $ref: '#/components/schemas/CustomerKyc'
        serviceProvider:
          type: string
          enum:
            - ACROSS
            - AEROPAY
            - AKOYA
            - ALCHEMYPAY
            - APPLEPAY
            - AUTHORIZENET
            - BANXA
            - BILIRA
            - BINANCECONNECT
            - BINANCEPAY
            - BLOCKCHAINDOTCOM
            - BOOMFI
            - BRAINTREE
            - BRALE
            - BTCDIRECT
            - CASHAPP
            - CHECKOUT
            - CIRCLE
            - COINBASEPAY
            - COINFLOW
            - DUENETWORK
            - ELDORADO
            - FINICITY
            - FLASHNET
            - FONBNK
            - GUARDARIAN
            - HARBOUR
            - KOYWE
            - KRYPTONIM
            - MERCURYO
            - MESH
            - MESO
            - MOONPAY
            - MOOV
            - MX
            - NMI
            - NOAH
            - ONMETA
            - ONRAMPMONEY
            - PAYBIS
            - PAYPAL
            - PLAID
            - RAMP
            - REVOLUT
            - ROBINHOOD
            - ROUTERPROTOCOL
            - SALTEDGE
            - SALTEDGEPARTNERS
            - SARDINE
            - SHIFT4
            - SHOPIFY
            - SIMPLEX
            - SKRILLCRYPTO
            - SQUARE
            - STRIPE
            - SUMSUB
            - SWAPPED
            - TANGOCARD
            - TELLER
            - TOPPER
            - TRANSAK
            - TREMENDOUS
            - TRANSFI
            - UNLIMIT
            - UPHOLD
            - WYRE
            - XANPOOL
            - YELLOWCARD
            - YODLEE
        serviceProviderAccessProfileId:
          type: string
        serviceProviderDetails:
          oneOf:
            - title: FinicityCustomerDetails
              allOf:
                - $ref: '#/components/schemas/FinicityCustomerDetails'
        status:
          type: string
        wallets:
          type: array
          items:
            type: string
          uniqueItems: true
    CustomerAddressDetails:
      type: object
      description: Address details
      properties:
        city:
          type: string
          description: City
        country:
          type: string
          description: Country
        lineOne:
          type: string
          description: >-
            Street address line one. May contain the entire street address if
            not broken up into lines one and two.
        lineTwo:
          type: string
          description: Street address line two.
        postalCode:
          type: string
          description: Postal code. Depending on the country, this could be a zip code.
        region:
          type: string
          description: Region. Depending on the country, this could be a state or province.
    CustomerKyc:
      type: object
      properties:
        additionalInfo:
          type: object
          additionalProperties: {}
          description: >-
            Provider-specific data returned when KYC was shared (e.g. hosted
            onboarding URL)
        onboardingMethod:
          description: Onboarding method used to initiate the KYC share
          allOf:
            - $ref: '#/components/schemas/OnboardingMethod'
        status:
          type: string
          description: Normalized KYC status
          enum:
            - PENDING
            - APPROVED
            - REJECTED
            - EXPIRED
            - UNKNOWN
        updatedAt:
          type: string
          format: date-time
          description: When the status was last updated
    FinicityCustomerDetails:
      allOf:
        - $ref: '#/components/schemas/ServiceProviderCustomerDetails'
        - type: object
          properties:
            customerType:
              type: string
              minLength: 1
      required:
        - customerType
    OnboardingMethod:
      type: object
      properties:
        kycProvider:
          type: string
        onboardingType:
          type: string
    ServiceProviderCustomerDetails:
      discriminator:
        propertyName: type
      properties:
        type:
          type: string
      required:
        - type
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      x-default: BASIC <Meld API Key>

````