---
title: "contacts/add"
method: POST
path: "/contacts/add"
tags: ["Contact Endpoints"]
---

# contacts/add

`POST /contacts/add`

## Request

- Base URL: `https://earthnode-dev.vopay.com/api/v2`
- URL: `https://earthnode-dev.vopay.com/api/v2/contacts/add`
- Auth: none declared

This endpoint is used to add a new contact record for the given account. If Flinks, Plaid or Mx credentials are provided, we will fetch all personal and bank account details from those providers.

## Request body `application/x-www-form-urlencoded`

- object
  - `AccountID` string, required: Your account ID
  - `Key` string, required: API key for the account
  - `Signature` string, required: Hashed signature for the request
  - `ContactID` string: Custom ID of the contact you want to create
  - `EmailAddress` string, required: The email address to be associated with this contact
  - `PhoneNumber` string, required: The phone number to be associated with this contact
  - `FirstName` string, required: The first name to be associated with this contact
  - `LastName` string, required: The last name to be associated with this contact
  - `BusinessName` string: Client's business name
  - `Address1` string: Contact's address line 1
  - `City` string: Contact's city
  - `Province` string: Contact's province specified using two character abbreviations (eg. BC, AB)
  - `Country` string: Contact's country specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.
  - `Nationality` string: Contact's nationality specified using full country name or ISO 3166-1 alpha-2 or ISO 3166-1 alpha-3 code.
  - `PostalCode` string: Contact's postal code.
  - `Token` string: An iQ11 Token that has been generated using Custom Iframe.
  - `FlinksLoginID` string: Flinks Login ID. Must be accompanied by a FlinksAccountID. VoPay will fetch the associated user and bank account details from Flinks.
  - `PlaidProcessorToken` string: Plaid Processor Token. VoPay will fetch the associated user bank account details from Plaid.
  - `MxProcessorToken` string: Mx Processor Token. VoPay will fetch the associated user bank account details from Mx.
  - `PaymentMethod` string: Optional, but must be supplied together with PaymentMethodDetails; either one alone is rejected with MISSING_REQUIRED_PARAMETER. Payment method to create with the contact and set as its default: bank, email (Interac e-Transfer), paypal, venmo or zelle (case-insensitive). credit, debitcard, googlepay and applepay are rejected; send a pay link instead. The rail must be enabled on your account. Interac (email) is for Canadian accounts. Venmo and Zelle require a USD account in the USA. The payment method's currency is set by PaymentMethodCurrency. The created payment method becomes the contact's default. If the contact is created but the payment method cannot be added, the request fails and the message states the ContactID of the contact that was created. Do not retry the whole request in that case, as it would create a second contact; use the returned ContactID to add the payment method instead.
  - `PaymentMethodDetails` string: Optional, but must be supplied together with PaymentMethod. Format depends on PaymentMethod. bank: RoutingNumber-AccountNumber for a US bank account (routing number left-padded to 9 digits); InstitutionNumber-TransitNumber-AccountNumber for a Canadian bank account (padded to 3 and 5 digits); or an IBAN (spaces are removed; the checksum is validated). Any other number of '-' separated parts is rejected, so the account number must not contain '-'. email, paypal, venmo, zelle: a single value; if it contains '@' it is used as the email address, otherwise as the phone number (digits only, up to 13; PayPal and Venmo phone numbers must be complete). For paypal, venmo and zelle the contact's name (BusinessName, or FirstName LastName) becomes the recipient name; it may contain only letters (English and French accented), digits, spaces and the characters = $ ( ) . * - ' / and must be fewer than 100 characters.
  - `PaymentMethodCurrency` string: Optional 3-letter currency code of the payment method (case-insensitive), used only with PaymentMethod. When blank, the account's currency is used. The currency must be one the payment method can hold, otherwise the request is rejected with INVALID_PARAMETER, including when it was taken from the account: US bank account (routing number): USD; Canadian bank account: CAD or USD; IBAN: any supported currency; email (Interac): CAD; paypal: CAD or USD; venmo and zelle: USD. This does not change the contact's own Currency.

## Response `200`

- object
  - `Success` boolean, required: True if the request was successful, false if it failed
  - `ErrorMessage` string, required: Contains a description of the error if the request failed
  - `ContactID` string, required: This ID of the newly created contact
  - `PaymentMethodToken` string: Token of the payment method created with the contact and set as its default

---

[API](https://skmtc.dev/vopay/apis/contact.md) - [All operations](https://skmtc.dev/vopay/apis/contact/llms.txt) - [OpenAPI document](https://skmtc.dev/vopay/apis/contact/revisions/0ca99d945e63?raw)
