> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Create a Counterparty

> Create a Counterparty.



## OpenAPI

````yaml /api-reference/openapi.yaml post /counterparties
openapi: 3.0.3
info:
  title: Polygon OMS Public API
  version: v26.05.28-0001
  description: >-
    Unified API for moving money between crypto and fiat. Three ways to move
    money: Transactions (instant, wallet or card funded, including Cash-In for
    in-person cash deposits), Deposit Addresses (reusable crypto deposit
    configurations), and Virtual Accounts (dedicated bank accounts that
    auto-convert fiat to crypto). Standard transactions follow a two-step flow:
    create a Quote (pricing), then create a Transaction (execution). Cash-in
    codes generate a one-time deposit code for in-person cash deposits at retail
    locations.
  contact:
    name: Polygon OMS
    url: https://oms.polygon.technology
servers:
  - url: https://sandbox-api.polygon.technology/v0.12
    description: Sandbox
  - url: https://api.polygon.technology/v0.12
    description: Production
security:
  - BearerAuth: []
tags:
  - name: Auth
    description: Authentication via FrontEgg
  - name: Customers
    description: Customer management and KYC
  - name: Customer
  - name: Wallet
  - name: Quote
  - name: Transaction
  - name: CashIns
  - name: CashLocation
  - name: Sandbox
  - name: VirtualAccount
  - name: Counterparty
  - name: ExternalAccount
  - name: Reference
  - name: DepositAddress
paths:
  /counterparties:
    post:
      tags:
        - Counterparty
      summary: Create a Counterparty
      description: Create a Counterparty.
      operationId: createCounterparty
      parameters:
        - $ref: '#/components/parameters/IdempotencyKeyHeader'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CounterpartyCreateRequest'
      responses:
        '201':
          description: >-
            The request has succeeded and a new resource has been created as a
            result.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Counterparty'
components:
  parameters:
    IdempotencyKeyHeader:
      name: Idempotency-Key
      in: header
      required: true
      description: >-
        Required on POST and PUT requests. Use a unique value per logical
        mutation attempt, for example a UUID.
      schema:
        type: string
  schemas:
    CounterpartyCreateRequest:
      type: object
      required:
        - customerId
        - name
        - address
      properties:
        customerId:
          type: string
          description: Owning customer (cst_… TypeID or legacy public id).
        name:
          type: string
          minLength: 1
          maxLength: 140
          description: Full legal name or registered business name. 1..140 chars.
        entityType:
          allOf:
            - $ref: '#/components/schemas/CounterpartyEntityType'
          description: '`individual` or `business`.'
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          description: |-
            Registered address. Required: must include non-blank line1, city,
            zipCode and a two-letter ISO country (state required for US).
        email:
          type: string
          description: Contact email address.
        phone:
          type: string
          description: Phone in E.164 format.
        taxId:
          type: string
          description: >-
            Tax ID (CPF, CNPJ, SSN, etc.). Required for some external-account
            types.
        dateOfBirth:
          type: string
          format: date
          description: Date of birth (YYYY-MM-DD).
        nationality:
          type: string
          description: ISO 3166-1 alpha-2.
        metadata:
          type: object
          additionalProperties:
            type: string
          description: >-
            Free-form key-value pairs stored on the resource and echoed back on
            reads.
      example:
        customerId: cst_vfa0nxw6zvyws9g237jrxn4y7k
        name: Alice Smith
        entityType: individual
        address:
          line1: 500 Market Street
          city: San Francisco
          state: CA
          country: US
          zipCode: '94105'
        email: alice@example.com
        phone: '+14155550100'
        nationality: US
    Counterparty:
      type: object
      required:
        - address
      properties:
        id:
          $ref: '#/components/schemas/typeId'
        object:
          type: string
          enum:
            - counterparty
        customerId:
          $ref: '#/components/schemas/typeId'
        status:
          $ref: '#/components/schemas/CounterpartyStatus'
        rejectionReason:
          type: string
          description: Set when status = `rejected`.
        name:
          type: string
          description: Full legal name or registered business name.
        entityType:
          $ref: '#/components/schemas/CounterpartyEntityType'
        address:
          allOf:
            - $ref: '#/components/schemas/Address'
          description: >-
            Registered address. Required since v0.11 — always present in
            responses.
        email:
          type: string
        phone:
          type: string
        taxId:
          type: string
        dateOfBirth:
          type: string
          format: date
        nationality:
          type: string
          description: ISO 3166-1 alpha-2.
        metadata:
          type: object
          additionalProperties:
            type: string
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
      description: |-
        A third party a customer transacts with — an entry in the customer's
        address book. Counterparties will own External Accounts (registered
        payment destinations) in a later slice.
    CounterpartyEntityType:
      type: string
      enum:
        - individual
        - business
    Address:
      type: object
      properties:
        line1:
          type: string
          description: Street address, line 1.
        line2:
          type: string
          description: Street address, line 2.
        city:
          type: string
          description: City.
        state:
          type: string
          description: State / province / region.
        country:
          type: string
          description: ISO 3166-1 alpha-2
        zipCode:
          type: string
          description: ZIP / postal code.
      description: A postal address. country is an ISO 3166-1 alpha-2 country code.
    typeId:
      type: string
      pattern: >-
        ^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$
      description: >-
        Public TypeID, e.g. `txn_01h455vb4pex5vsknk084sn02q`; legacy UUID
        suffixes are accepted until non-v7 rows are retired.
      x-go-type: string
    CounterpartyStatus:
      type: string
      enum:
        - active
        - rejected
        - deleted
      description: |-
        Lifecycle of a counterparty. `rejected` is reserved for create-time
        compliance screening (not yet active); `deleted` marks a soft-deleted
        record that remains readable by id.
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: Token from POST /auth/token

````