---
title: "Create a Counterparty"
method: POST
path: "/api/counterparties"
tags: ["Counterparties"]
---

# Create a Counterparty

`POST /api/counterparties`

Creates a new counterparty (recipient) that can be referenced in future payouts. The counterparty information is stored and can be reused across multiple payout requests.

## Headers

- `on-behalf-of` string

## Request body

- CreateCounterpartyRequestBody
  - `counterparty` union, required
    - IndividualCounterpartyInfo
      - `email` string, email — Email address for the counterparty. When provided, must be unique within the organization. Some destination rails (for example Colombian COP payouts) require an email on either the counterparty or its payout method — if missing for those rails, payout-method or payout-request creation will fail with `additional_counterparty_information_required` (counterparty endpoint) or `additional_recipient_information_required` (payout-request endpoint) listing the missing fields.
      - `firstName` string, required — The first name of the individual
      - `lastName` string, required — The last name(s) of the individual
      - `physicalAddress` PhysicalAddressVerification, required
        - `address1` string, required — Primary street address, including building number and street name
        - `address2` string — Secondary address line (apartment, suite, unit, floor, etc.)
        - `city` string, required — City or locality
        - `country` string, required — ISO 3166-1 alpha-2 country code
        - `postalCode` string, required — Postal code for the address
        - `subDivision` string, required — State or province. ISO 3166-2 subdivision code (minus the country prefix) for the state
      - `type` 'individual', required
    - BusinessCounterpartyInfo
      - `email` string, email — Email address for the counterparty. When provided, must be unique within the organization. Some destination rails (for example Colombian COP payouts) require an email on either the counterparty or its payout method — if missing for those rails, payout-method or payout-request creation will fail with `additional_counterparty_information_required` (counterparty endpoint) or `additional_recipient_information_required` (payout-request endpoint) listing the missing fields.
      - `name` string, required
      - `physicalAddress` PhysicalAddressVerification, required
        - `address1` string, required — Primary street address, including building number and street name
        - `address2` string — Secondary address line (apartment, suite, unit, floor, etc.)
        - `city` string, required — City or locality
        - `country` string, required — ISO 3166-1 alpha-2 country code
        - `postalCode` string, required — Postal code for the address
        - `subDivision` string, required — State or province. ISO 3166-2 subdivision code (minus the country prefix) for the state
      - `type` 'business', required

## Response `201`

The successfully created counterparty

- union
  - IndividualCounterparty
    - `createdAt` string, required
    - `email` string, email
    - `firstName` string, required — The first name of the individual
    - `id` string, uuid, required
    - `lastName` string, required — The last name of the individual
    - `physicalAddress` PhysicalAddressInput, required
      - `address1` string, required
      - `address2` string
      - `city` string, required
      - `country` string, required — ISO 3166-1 alpha-2 country code. See: GET /utilities/countries/{fiatRailCode}
      - `state` string, required — State or province. ISO 3166-2 subdivision code (minus the country prefix) for the state. See: GET /utilities/countries/{fiatRailCode}
      - `zip` string, required
    - `type` 'individual', required
    - `updatedAt` string, required
  - BusinessCounterparty
    - `createdAt` string, required
    - `email` string, email
    - `id` string, uuid, required
    - `name` string, required
    - `physicalAddress` PhysicalAddressInput, required
      - `address1` string, required
      - `address2` string
      - `city` string, required
      - `country` string, required — ISO 3166-1 alpha-2 country code. See: GET /utilities/countries/{fiatRailCode}
      - `state` string, required — State or province. ISO 3166-2 subdivision code (minus the country prefix) for the state. See: GET /utilities/countries/{fiatRailCode}
      - `zip` string, required
    - `type` 'business', required
    - `updatedAt` string, required

## Other responses

- `401` — Unauthorized
- `403` — SignedAgreementRequiredException

---

[API](https://skmtc.net/muralpay/apis/mural-api.md) · [All operations](https://skmtc.net/muralpay/apis/mural-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muralpay/mural-api/revisions/437d277f5948/schema)
