> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://apidoc-v1.maniscloud.com/llms.txt.
> For full documentation content, see https://apidoc-v1.maniscloud.com/llms-full.txt.

# Get customers

GET https://api/v1/customers

Retrieves a list of customers from a specific payment service provider (PSP)

**Query Params**

| Parameter | Type | Description |
| --- | --- | --- |
| `pspId` | string | (Optional) Identifier of the payment provider (e.g., `nium`, `finmo`) |
| `text` | string | (Optional) Filter by firstName, lastName, email |
| `name` | string | (Optional) Filter by customer name |
| `email` | string | (Optional) Filter by customer email |
| `country` | string | (Optional) Filter by customer address country |
| `phoneNumber` | string | (Optional) Filter by customer phone number |
| `page` | int | _(Optional)_ Page number (default: 0) |
| `pageSize` | int | _(Optional)_ Records per page (default: 10) |

Response Body

200 OK

| Field | Type | Description |
| --- | --- | --- |
| `id` | string | Identifier of the customer in Manis |
| `type` | string | Customer type. Acceptable values: `INDIVIDUAL` or `COMPANY`. |
| `accountUsagePurpose` | string | Purpose of the account usage (required by Finmo). |
| `firstName` | string | Customer’s first name. |
| `lastName` | string | Customer’s last name. |
| `dob` | string | Date of birth in `YYYY-MM-DD` format. |
| `countryOfResidence` | string | Country where the customer resides (ISO 3166-1 alpha-2 code). |
| `email` | string | Customer's email address. |
| `phoneCountryCode` | string | Country code for the phone number (e.g., `+1`). |
| `phoneNumber` | string | Customer’s phone number. |
| `addressCountry` | string | Country of the address (ISO 3166-1 alpha-2 code). |
| `addressZipCode` | string | ZIP or postal code. |
| `addressCity` | string | City of the address. |
| `addressState` | string | State or province. |
| `addressStreet` | string | Street name and number. |
| `addressLocation` | string | Additional location info (e.g., building, floor). |
| `identificationType` | string | Type of ID document (e.g., `PASSPORT`, `NATIONAL_ID`). |
| `identificationValue` | string | ID number as shown in the identification document. |
| `identificationDocumentId` | string | Document ID from **Upload Customer Document API** for identification. |
| `addressProofDocumentId` | string | Document ID from **Upload Customer Document API** for address proof. |
| `companyInfo` | object | Company details block. Required when creating a company-type customer. |
| `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| `createdBy` | string |  |
| `updateAt` | date (yyyy-MM-dd'T'HH:mm:ss+00:00) |  |
| `updatedBy` | string |  |
| pspCustomers | object |  |
| └─pspId | string | Identifier of the PSP |
| └─pspCustomerId | string | Identifier of the Customer in PSP |
| └─status | string | status of the customer |
| └─`createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| └─`createdBy` | string |  |

`Comapny Information:`

| Field | Type | Description |
| --- | --- | --- |
| `name` | string | Legal name of the company. |
| `website` | string | Company website URL. |
| `registrationNumber` | string | Company registration number. |
| `incorporationCountry` | string | Country where the company is incorporated (ISO 3166-1 alpha-2 code). |
| `incorporationDate` | string | Incorporation date in `YYYY-MM-DD` format. |
| `email` | string | Company contact email. |
| `phoneCountryCode` | string | Country code for the company phone number. |
| `phoneNumber` | string | Company phone number. |
| `addressCountry` | string | Company address country. |
| `addressZipCode` | string | ZIP or postal code. |
| `addressCity` | string | City of the company address. |
| `addressState` | string | State or province. |
| `addressStreet` | string | Street address. |
| `addressLocation` | string | Additional address details (e.g., unit, building). |
| `incorporationCertificateDocumentId` | string | Document ID for the incorporation certificate (from Upload API). |
| `addressProofDocumentId` | string | Document ID for company address proof (from Upload API). |
| `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| `createdBy` | string |  |
| `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |
| `updatedBy` | string |  |

400 BAD REQUEST - 403 FORBIDDEN - 401 UNAUTHORIZED - 500 INTERNAL ERROR

| **Field** | type |
| --- | --- |
| timestamp | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |
| title | string |
| type | string |
| status | number |
| soaCode | string |
| detail | string |

Reference: https://apidoc-v1.maniscloud.com/manis-unified-api-v-1-0/customer/get-customers

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /api/v1/customers:
    get:
      operationId: get-customers
      summary: Get customers
      description: >-
        Retrieves a list of customers from a specific payment service provider
        (PSP)


        **Query Params**


        | Parameter | Type | Description |

        | --- | --- | --- |

        | `pspId` | string | (Optional) Identifier of the payment provider
        (e.g., `nium`, `finmo`) |

        | `text` | string | (Optional) Filter by firstName, lastName, email |

        | `name` | string | (Optional) Filter by customer name |

        | `email` | string | (Optional) Filter by customer email |

        | `country` | string | (Optional) Filter by customer address country |

        | `phoneNumber` | string | (Optional) Filter by customer phone number |

        | `page` | int | _(Optional)_ Page number (default: 0) |

        | `pageSize` | int | _(Optional)_ Records per page (default: 10) |


        Response Body


        200 OK


        | Field | Type | Description |

        | --- | --- | --- |

        | `id` | string | Identifier of the customer in Manis |

        | `type` | string | Customer type. Acceptable values: `INDIVIDUAL` or
        `COMPANY`. |

        | `accountUsagePurpose` | string | Purpose of the account usage
        (required by Finmo). |

        | `firstName` | string | Customer’s first name. |

        | `lastName` | string | Customer’s last name. |

        | `dob` | string | Date of birth in `YYYY-MM-DD` format. |

        | `countryOfResidence` | string | Country where the customer resides
        (ISO 3166-1 alpha-2 code). |

        | `email` | string | Customer's email address. |

        | `phoneCountryCode` | string | Country code for the phone number (e.g.,
        `+1`). |

        | `phoneNumber` | string | Customer’s phone number. |

        | `addressCountry` | string | Country of the address (ISO 3166-1 alpha-2
        code). |

        | `addressZipCode` | string | ZIP or postal code. |

        | `addressCity` | string | City of the address. |

        | `addressState` | string | State or province. |

        | `addressStreet` | string | Street name and number. |

        | `addressLocation` | string | Additional location info (e.g., building,
        floor). |

        | `identificationType` | string | Type of ID document (e.g., `PASSPORT`,
        `NATIONAL_ID`). |

        | `identificationValue` | string | ID number as shown in the
        identification document. |

        | `identificationDocumentId` | string | Document ID from **Upload
        Customer Document API** for identification. |

        | `addressProofDocumentId` | string | Document ID from **Upload Customer
        Document API** for address proof. |

        | `companyInfo` | object | Company details block. Required when creating
        a company-type customer. |

        | `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | `createdBy` | string |  |

        | `updateAt` | date (yyyy-MM-dd'T'HH:mm:ss+00:00) |  |

        | `updatedBy` | string |  |

        | pspCustomers | object |  |

        | └─pspId | string | Identifier of the PSP |

        | └─pspCustomerId | string | Identifier of the Customer in PSP |

        | └─status | string | status of the customer |

        | └─`createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | └─`createdBy` | string |  |


        `Comapny Information:`


        | Field | Type | Description |

        | --- | --- | --- |

        | `name` | string | Legal name of the company. |

        | `website` | string | Company website URL. |

        | `registrationNumber` | string | Company registration number. |

        | `incorporationCountry` | string | Country where the company is
        incorporated (ISO 3166-1 alpha-2 code). |

        | `incorporationDate` | string | Incorporation date in `YYYY-MM-DD`
        format. |

        | `email` | string | Company contact email. |

        | `phoneCountryCode` | string | Country code for the company phone
        number. |

        | `phoneNumber` | string | Company phone number. |

        | `addressCountry` | string | Company address country. |

        | `addressZipCode` | string | ZIP or postal code. |

        | `addressCity` | string | City of the company address. |

        | `addressState` | string | State or province. |

        | `addressStreet` | string | Street address. |

        | `addressLocation` | string | Additional address details (e.g., unit,
        building). |

        | `incorporationCertificateDocumentId` | string | Document ID for the
        incorporation certificate (from Upload API). |

        | `addressProofDocumentId` | string | Document ID for company address
        proof (from Upload API). |

        | `createdAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | `createdBy` | string |  |

        | `updatedAt` | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |  |

        | `updatedBy` | string |  |


        400 BAD REQUEST - 403 FORBIDDEN - 401 UNAUTHORIZED - 500 INTERNAL ERROR


        | **Field** | type |

        | --- | --- |

        | timestamp | date(yyyy-MM-dd'T'HH:mm:ss.SSS'Z') |

        | title | string |

        | type | string |

        | status | number |

        | soaCode | string |

        | detail | string |
      tags:
        - subpackage_customer
      parameters:
        - name: page
          in: query
          required: false
          schema:
            type: string
        - name: pageSize
          in: query
          required: false
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Customer_Get customers_Response_200'
servers:
  - url: https:/
components:
  schemas:
    ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsCompanyInfo:
      type: object
      properties:
        name:
          type: string
        email:
          type: string
          format: email
        website:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
          format: uuid
        addressCity:
          type: string
        phoneNumber:
          type: string
        addressState:
          type: string
        addressStreet:
          type: string
        addressCountry:
          type: string
        addressZipCode:
          type: string
        addressLocation:
          type: string
        phoneCountryCode:
          type: string
        incorporationDate:
          type: string
          format: date
        registrationNumber:
          type: string
        incorporationCountry:
          type: string
      required:
        - name
        - email
        - website
        - createdAt
        - createdBy
        - updatedAt
        - updatedBy
        - addressCity
        - phoneNumber
        - addressState
        - addressStreet
        - addressCountry
        - addressZipCode
        - addressLocation
        - phoneCountryCode
        - incorporationDate
        - registrationNumber
        - incorporationCountry
      title: >-
        ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsCompanyInfo
    ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsPspCustomersItems:
      type: object
      properties:
        pspId:
          type: string
        status:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        pspCustomerId:
          type: string
      required:
        - pspId
        - status
        - createdAt
        - createdBy
        - pspCustomerId
      title: >-
        ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsPspCustomersItems
    ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        id:
          type: string
          format: uuid
        dob:
          type: string
          format: date
        type:
          type: string
        email:
          type: string
          format: email
        lastName:
          type: string
        createdAt:
          type: string
          format: date-time
        createdBy:
          type: string
          format: uuid
        firstName:
          type: string
        updatedAt:
          type: string
          format: date-time
        updatedBy:
          type: string
          format: uuid
        addressCity:
          type: string
        companyInfo:
          $ref: >-
            #/components/schemas/ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsCompanyInfo
        phoneNumber:
          type: string
        pspCustomers:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItemsPspCustomersItems
        addressStreet:
          type: string
        addressCountry:
          type: string
        addressZipCode:
          type: string
        addressLocation:
          type: string
        phoneCountryCode:
          type: string
        countryOfResidence:
          type: string
        accountUsagePurpose:
          type: string
      required:
        - id
        - dob
        - type
        - email
        - lastName
        - createdAt
        - createdBy
        - firstName
        - updatedAt
        - updatedBy
        - addressCity
        - companyInfo
        - phoneNumber
        - pspCustomers
        - addressStreet
        - addressCountry
        - addressZipCode
        - addressLocation
        - phoneCountryCode
        - countryOfResidence
        - accountUsagePurpose
      title: ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItems
    Customer_Get customers_Response_200:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/ApiV1CustomersGetResponsesContentApplicationJsonSchemaDataItems
        totalItem:
          type: integer
        totalPage:
          type: integer
        currentPage:
          type: integer
      required:
        - data
        - totalItem
        - totalPage
        - currentPage
      title: Customer_Get customers_Response_200

```

## SDK Code Examples

```python Finmo: Get customer
import requests

url = "https://https/api/v1/customers"

querystring = {"page":"{{page}}","pageSize":"{{pageSize}}"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript Finmo: Get customer
const url = 'https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Finmo: Get customer
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Finmo: Get customer
require 'uri'
require 'net/http'

url = URI("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Finmo: Get customer
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")
  .asString();
```

```php Finmo: Get customer
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D');

echo $response->getBody();
```

```csharp Finmo: Get customer
using RestSharp;

var client = new RestClient("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Finmo: Get customer
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

```python Nium: Get customers
import requests

url = "https://https/api/v1/customers"

querystring = {"page":"{{page}}","pageSize":"{{pageSize}}"}

response = requests.get(url, params=querystring)

print(response.json())
```

```javascript Nium: Get customers
const url = 'https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D';
const options = {method: 'GET'};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Nium: Get customers
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D"

	req, _ := http.NewRequest("GET", url, nil)

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Nium: Get customers
require 'uri'
require 'net/http'

url = URI("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
```

```java Nium: Get customers
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")
  .asString();
```

```php Nium: Get customers
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D');

echo $response->getBody();
```

```csharp Nium: Get customers
using RestSharp;

var client = new RestClient("https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D");
var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);
```

```swift Nium: Get customers
import Foundation

let request = NSMutableURLRequest(url: NSURL(string: "https://https/api/v1/customers?page=%7B%7Bpage%7D%7D&pageSize=%7B%7BpageSize%7D%7D")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```