---
title: "batch/contacts/add"
method: POST
path: "/batch/contacts/add"
tags: ["Batch Request Endpoints"]
---

# batch/contacts/add

`POST /batch/contacts/add`

## Request

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

This endpoint is used to submit multiple contact creation requests to VoPay. Each object in the batch is processed against the /contacts/add endpoint: EmailAddress and PhoneNumber are always required, and either BusinessName or both FirstName and LastName must be provided. Each row may also carry an optional payment method, created with the contact and set as its default, using the keys PaymentMethod, PaymentMethodDetails and the optional PaymentMethodCurrency, with the same values, formats and rules as /contacts/add: PaymentMethod is bank, email, paypal, venmo or zelle (case-insensitive); for bank, PaymentMethodDetails is RoutingNumber-AccountNumber (US bank account), InstitutionNumber-TransitNumber-AccountNumber (Canadian bank account) or an IBAN; for email, paypal, venmo and zelle it is a single email address or phone number. PaymentMethodCurrency defaults to the account's currency and must be one the method can hold. When all are blank no payment method is created; supplying PaymentMethodDetails or PaymentMethodCurrency without PaymentMethod, or PaymentMethod without PaymentMethodDetails, rejects the row. The contact's own EmailAddress and PhoneNumber are never used as payment details. The payment method must be enabled on your account.

## 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
  - `BatchName` string, required: Name of the batch
  - `BatchData` string, required: An array of objects. Each object contains the input params for the /contacts/add endpoint. This endpoint accepts a maximum of 5000 contacts per batch submission.

## 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
  - `BatchTransactionRequestID` integer, required: Unique ID of your batch transaction request.
  - `TotalSubmittedTransactions` integer, required: Total number of contacts submitted.
  - `NumberOfRejectedTransactions` integer, required: Total number of rejected contacts.
  - `RejectedTransactions` string: JSON object containing the rejected contacts

---

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