Counterparty

This guide elaborates on the 'Counterparty' component within a financial transaction API, delineating its profile, associations, and payment methods. It further explores the differentiated transaction scope across the Customer, Account, and Product levels, ensuring a comprehensive understanding of each Counterparty's identity and transaction capabilities.

The Counterparty section of our API facilitates operations related to counterparties for a customer. This includes retrieving a list of counterparties, adding new ones, updating and deleting existing ones. A counterparty is defined as the individual or business involved in a transaction. For instance, if someone sends money to their friend, the friend becomes the counterparty.

Counterparty APIs

Here are the specific APIs offered in the Counterparty section:

Each endpoint provides specific functionality in managing and handling counterparties, providing users with comprehensive control over this aspect of their transactions.

Profile of Counterparty

A Counterparty refers to the individual or business involved in the opposite end of a transaction. For instance, if you are sending money to a friend, your friend is considered the counterparty.

The Counterparty object includes main details and three sub-objects: ACH, Wire, and Braid.

Here is a sample JSON object showcasing what a Counterparty might look like:

{
  "accountNumber": "string",
  "ach": {
    "accountNumber": "string",
    "bankAccountType": "SAVINGS",
    "bankName": "string",
    "routingNumber": "string"
  },
  "braid": {
    "accountNumber": "string"
  },
  "businessId": 0,
  "email": "string",
  "individualId": 0,
  "name": "string",
  "phone": "string",
  "productId": 0,
  "type": "BUSINESS",
  "wire": {
    "accountNumber": "string",
    "address": {
      "city": "string",
      "countryCode": "string",
      "line1": "string",
      "line2": "string",
      "postalCode": "string",
      "state": "string",
      "type": "MAILING"
    },
    "bankName": "string",
    "intermediaryRoutingNumber": "string",
    "routingNumber": "string",
    "routingNumberType": "ABA"
  }
}

Association of Counterparty

A Counterparty exists on one of three levels: customer, account, and product. The counterparty is required to be associated with at least one of the three: a customer (business or individual), account, or product.

  1. Customer- If the counterparty is being created at the customer level, then the type of customer is required and should be either Business or Individual. These would be private counterparties where no one else would know these counterparties exist except you.
The `businessId`or `individualId` field is required for the customer level. 
  • Business- if you put in a business id, then all the accounts of that business id can transact with that counterparty but not other businesses. So this counterparty would belong to that business.
  • Individual- The same is true with an individual id. if you put in an individual id, then all the accounts of that individual id can transact with that counterparty but not other individuals. So this counterparty would belong to that individual.
  1. Account: If an account number is provided, this counterparty can only perform transactions with this specific account. This counterparty would not be known outside of this account.
The `accountNumber` field is required for the account level. 
  1. Product: The product level allows for global accessibility. For example, IRS payments could be associated with a product ID, allowing anyone to search for 'IRS' without needing to specify a business ID. Similarly, billers would be at the product level and would be known to all customers.
The `productId` field is required for the product level. 

Ways counterparties can be paid

🚧

It is important to note that at least one of the 3 payment methods (ie ACH, Wire, or Braid account) are required, as without a payment instrument, counterparty cannot used in a transaction.

A counterparty can be paid in three different ways, which are ACH, Wire, and Braid Account. Each are sub-objects: ACH, Wire, and Braid Account. Only one sub-object representation needs to be present; others can be omitted.

For example, the ACH info from the ACH sub-object will be used when scheduling an ACH transaction. Similarly, the wire sub-object will be used when sending a wire transfer to the counterparty.

Counterparty Sub-Objects

Each sub-object is denoted as follows:

  • ACH Sub-Object

    "ach": {
        "bankAccountType": "SAVINGS",
        "bankName": "string",
        "routingNumber": "string"
    }
    
  • Wire Sub-Object

    "wire": {
        "accountNumber": "string",
        "accountType": "BUSINESS_CHECKING",
        "address": {
            "city": "string",
            "line1": "string",
            "line2": "string",
            "state": "string",
            "zip": "string"
        },
        "routingNumber": "string"
    }
    
  • Braid Account Sub-Object

    "braid": {
        "accountNumber": "string",
    }