API references
Merchant API

Retrieve contact

Retrieves a contact by its ID. The contact_id can be either the internal UID (starting with ctc_) or the external ID provided when the contact was created.

Endpoint signature
This endpoint requires an API key. Read our authentication guide for more information.
POST https://api.reservepay.com/merchants/retrieve-contact HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Bearer <token>
{
contact_id: string,
}
Returns: object
New to Reservepay? Read our guide on how to call endpoints to get started.
Request arguments
contact_id string

Required. The contact_id (either internal UID or external ID) to retrieve.

Response attributes
Attribute Description
contact_id
string

Always present. The internal unique identifier for the contact.

external_id
string

Nullable. The external ID provided when the contact was created.

email
string

Nullable. The email address of the contact.

mobile
string

Nullable. The mobile number of the contact.

name
string

Nullable. The name of the contact.

favorite
boolean

Always present. Whether the contact is marked as a favorite.

created_at
number

Always present. The Unix timestamp (seconds since epoch) when the contact was created.

primary_bank_account
object.bank_account

Nullable. The primary bank account for the contact.

default_card
object.card

Nullable. The default card for the contact.

bank_accounts
array<object.bank_account>

Always present. The most recent bank accounts associated with the contact (limited to 25 most recent, ordered by creation date descending).

cards
array<object.card>

Always present. The most recent cards associated with the contact (limited to 25 most recent, ordered by creation date descending).

Bank account attributes
Attribute Description
bank_account_id
string

Always present. The ID of the bank account.

bank_code
string

Always present. The bank code identifying the financial institution.

number
string

Always present. The bank account number.

name
string

Always present. The name of the account holder.

country_code
string

Always present. The ISO country code where the bank account is located.

created_at
number

Always present. The Unix timestamp (seconds since epoch) when the bank account was created.

deleted_at
number

Nullable. The Unix timestamp (seconds since epoch) when the bank account was deleted.

deletable
boolean

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.

owner
string

Always present. Whether this bank account belongs to a contact or the merchant.

Possible values:
  • CONTACT
  • MERCHANT
primary
boolean

Always present. Whether this is the primary bank account for its owner (the contact or the merchant).

Card attributes
Attribute Description
card_id
string

Always present. The ID of the card.

token
string

Always present. The token of the card.

usage
string

Always present. Whether the card token is for single or multiple use.

Possible values:
  • SINGLE
  • MULTIPLE
used
boolean

Always present. Whether the card token has been used.

first_digits
string

Always present. The first 6 digits of the card number.

last_digits
string

Always present. The last 4 digits of the card number.

length
number

Always present. The length of the card number.

expiration_date
string

Always present. The expiration date of the card (MM/YY format).

cardholder_name
string

Always present. The name of the cardholder.

scheme
string

Always present. The card scheme (e.g., VISA, MASTERCARD).

created_at
number

Always present. The Unix timestamp (seconds since epoch) when the card was created.

deleted_at
number

Nullable. The Unix timestamp (seconds since epoch) when the card was deleted.

deletable
boolean

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.

Errors specific to this endpoint
NOT_FOUND

No contact found with the provided contact_id. The contact may not exist or may belong to a different merchant.

Errors common to all endpoints
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.

CODE SAMPLES
curl
curl "https://api.reservepay.com/merchants/retrieve-contact" \
  -X POST
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Authorization: Bearer $(RESERVEPAY_API_KEY)" \
  -d '{
        "contact_id": "ctc_1234567890"
      }'
Learn how to run these code samples in your terminal by reading our guide.