-
- abort-payment-on-terminal
- capture-payment
- filter-payments
- find-payment
- initiate-payment-flow
- list-activity-logs
- list-payment-activities
- list-payments
- list-payments-by-contact
- list-payments-by-terminal
- refund-payment
- request-payment
- resume-payment-on-terminal
- retrieve-refund-performance
- retrieve-sales-performance
- reverse-payment
- start-payment-on-terminal
- void-payment
Filter contacts
Returns a paginated list of contacts for the authenticated merchant with filtering capabilities.
Filter by name, email, mobile (substring match) and creation date. Free-text terms also matches
contact ID and external ID. Results are ordered by creation date descending.
per_page
number
Optional. Number of contacts to return per page. Default: 10, Maximum: 100
page
number
Optional. Page number for pagination. Default: 1 (first page)
name
string
Optional. Filter by contact name (substring, case-insensitive).
email
string
Optional. Filter by contact email (substring, case-insensitive).
mobile
string
Optional. Filter by contact mobile (substring).
terms
string
Optional. Free-text search across contact name, email, mobile, contact ID, and external ID (substring, case-insensitive).
created_at
string
Optional. Filter by creation date. Supports: specific date (YYYY-MM-DD), date range (YYYY-MM-DD..YYYY-MM-DD), or keywords (today, yesterday, this_week, last_week, this_month, last_month).
| Attribute | Description |
|---|---|
previousobject
|
Nullable. Pagination for the previous page. Contains 'before' (page number) and 'per_page' (page size) parameters. Use these values in the 'page' and 'per_page' parameters of the next request to get the previous page. Returns null if there is no previous page. |
pagearray<object.contact>
|
Always present. The current page of records, ordered by creation date (newest first). Each record is serialized according to the specified record_serializer option. |
nextobject
|
Nullable. Pagination for the next page. Contains 'after' (page number) and 'per_page' (page size) parameters. Use these values in the 'page' and 'per_page' parameters of the next request to get the next page. Returns null if there is no next page. |
| Attribute | Description |
|---|---|
contact_idstring
|
Always present. The internal unique identifier for the contact. |
external_idstring
|
Nullable. The external ID provided when the contact was created. |
emailstring
|
Nullable. The email address of the contact. |
mobilestring
|
Nullable. The mobile number of the contact. |
namestring
|
Nullable. The name of the contact. |
favoriteboolean
|
Always present. Whether the contact is marked as a favorite. |
created_atnumber
|
Always present. The Unix timestamp (seconds since epoch) when the contact was created. |
primary_bank_accountobject.bank_account
|
Nullable. The primary bank account for the contact. |
default_cardobject.card
|
Nullable. The default card for the contact. |
bank_accountsarray<object.bank_account>
|
Always present. The most recent bank accounts associated with the contact (limited to 25 most recent, ordered by creation date descending). |
cardsarray<object.card>
|
Always present. The most recent cards associated with the contact (limited to 25 most recent, ordered by creation date descending). |
| Attribute | Description |
|---|---|
bank_account_idstring
|
Always present. The ID of the bank account. |
bank_codestring
|
Always present. The bank code identifying the financial institution. |
numberstring
|
Always present. The bank account number. |
namestring
|
Always present. The name of the account holder. |
country_codestring
|
Always present. The ISO country code where the bank account is located. |
created_atnumber
|
Always present. The Unix timestamp (seconds since epoch) when the bank account was created. |
deleted_atnumber
|
Nullable. The Unix timestamp (seconds since epoch) when the bank account was deleted. |
deletableboolean
|
Always present. Whether the bank account can be deleted. A bank account is deletable if it is not the primary bank account, or if it is the primary bank account but it is the only bank account for the contact. |
ownerstring
|
Always present. Whether this bank account belongs to a contact or the merchant. Possible values:
|
primaryboolean
|
Always present. Whether this is the primary bank account for its owner (the contact or the merchant). |
| Attribute | Description |
|---|---|
card_idstring
|
Always present. The ID of the card. |
tokenstring
|
Always present. The token of the card. |
usagestring
|
Always present. Whether the card token is for single or multiple use. Possible values:
|
usedboolean
|
Always present. Whether the card token has been used. |
first_digitsstring
|
Always present. The first 6 digits of the card number. |
last_digitsstring
|
Always present. The last 4 digits of the card number. |
lengthnumber
|
Always present. The length of the card number. |
expiration_datestring
|
Always present. The expiration date of the card (MM/YY format). |
cardholder_namestring
|
Always present. The name of the cardholder. |
schemestring
|
Always present. The card scheme (e.g., VISA, MASTERCARD). |
created_atnumber
|
Always present. The Unix timestamp (seconds since epoch) when the card was created. |
deleted_atnumber
|
Nullable. The Unix timestamp (seconds since epoch) when the card was deleted. |
deletableboolean
|
Always present. Whether the card can be deleted. A card is deletable if it is not the default card, or if it is the default card but it is the only card for the contact. |
UNHANDLED_ERROR
This error occurs when the server encounters an unexpected internal error that it cannot handle gracefully. This typically happens due to bugs, infrastructure issues, or edge cases that weren't anticipated during development.
INVALID_ARGUMENTS
This error occurs when the request contains invalid or missing parameters. Common cases include missing required fields, or values that don't match the expected format or type.
BAD_VERSION
This error occurs when making requests to an API version that does not exist. This commonly happens when using an outdated SDK or when the API version specified in the request URL is incorrect.
curl "https://api.reservepay.com/merchants/filter-contacts" \
-X POST
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-H "Authorization: Bearer $(RESERVEPAY_API_KEY)" \
-d '{
"email": "@acme.com"
}'
