# Create counterparty account

**Endpoint**

&#x20;`POST/v2/counterparty/{counterpartyId}/account`

**Link**

{% embed url="<https://stagep.tst-apidmndelss.com/openapi/v2.html#/operations/Counterparties_CreateAccount>" %}

### **Request**

#### **Path Parameters**

| Parameter            | Type     | Description                            | Required | Example      |
| -------------------- | -------- | -------------------------------------- | -------- | ------------ |
| **`counterpartyId`** | `string` | **Counterparty ID** to add account to. | Yes      | `"cp_12345"` |

#### **Headers**

| Key                 | Value              | Required |
| ------------------- | ------------------ | -------- |
| **`Authorization`** | `123`              | Yes      |
| **`Content-Type`**  | `application/json` | Yes      |
| **`Accept`**        | `application/json` | Yes      |

#### **Request Body**

**Required field:** `item.currencyCode`

json

```
{
  "item": {
    "currencyCode": "USD",
    "status": "NEW",
    "bank": {
      "name": "Chase Bank",
      "number": "123456789",
      "address": {
        "addressLine1": "456 Bank Street",
        "city": "New York",
        "stateIso": "NY",
        "countryIso": "US",
        "postalCode": "10002"
      },
      "routingNumber": "021000021"
    },
    "fiat": {
      "number": "123456789",
      "routingNumber": "021000021",
      "additionalInformation": {
        "type": "TYPE_FIAT_US",
        "supportedRails": ["ACH", "FEDWIRE"],
        "accountType": "CHECKING"
      }
    }
  }
}
```

***

### **Request Fields**

**1. Main Account Fields**

| Field              | Type     | Required | Description               | Example |
| ------------------ | -------- | -------- | ------------------------- | ------- |
| **`currencyCode`** | `string` | **Yes**  | Currency code (ISO 4217). | `"USD"` |
| **`status`**       | `string` | No       | Initial account status.   | `"NEW"` |

**2. Bank Object (Traditional Banking)**

| Field                    | Type     | Required | Description          | Example        |
| ------------------------ | -------- | -------- | -------------------- | -------------- |
| **`bank.name`**          | `string` | **Yes**  | Bank name.           | `"Chase Bank"` |
| **`bank.number`**        | `string` | **Yes**  | Account number.      | `"123456789"`  |
| **`bank.routingNumber`** | `string` | **Yes**  | Routing number (US). | `"021000021"`  |

**Bank Address Object**

| Field                           | Type     | Required | Description                                                                                   | Example             |
| ------------------------------- | -------- | -------- | --------------------------------------------------------------------------------------------- | ------------------- |
| **`bank.address.addressLine1`** | `string` | Yes      | Primary address, 30 symbols max, no special characters, 30 symbols max, no special characters | `"456 Bank Street"` |
| **`bank.address.addressLine2`** | `string` | Yes      | Suite/floor, 30 symbols max, no special characters                                            | `"Floor 15"`        |
| **`bank.address.city`**         | `string` | Yes      | City, no special characters                                                                   | `"New York"`        |
| **`bank.address.stateIso`**     | `string` | Yes      | State code.                                                                                   | `"NY"`              |
| **`bank.address.countryIso`**   | `string` | Yes      | Country code.                                                                                 | `"US"`              |
| **`bank.address.postalCode`**   | `string` | Yes      | Postal code.                                                                                  | `"10002"`           |

**3. Crypto Object (Cryptocurrency)**

| Field                | Type     | Required | Description            | Example                                        |
| -------------------- | -------- | -------- | ---------------------- | ---------------------------------------------- |
| **`crypto.address`** | `string` | Yes      | Crypto wallet address. | `"0x742d35Cc6634C0532925a3b8D6B3985f8e091be1"` |

**Crypto Additional Information**

| Field                                             | Type     | Required | Description                | Allowed Values                                | Example             |
| ------------------------------------------------- | -------- | -------- | -------------------------- | --------------------------------------------- | ------------------- |
| **`crypto.additionalInformation.walletType`**     | `string` | Yes      | Type of wallet.            | `CPW_INSTITUTION`, `CPW_OTHER`, `CPW_UNKNOWN` | `"CPW_INSTITUTION"` |
| **`crypto.additionalInformation.type`**           | `string` | Yes      | Account type.              | `TYPE_CRYPTO`                                 | `"TYPE_CRYPTO"`     |
| **`crypto.additionalInformation.supportedRails`** | `array`  | Yes      | Supported payment methods. | `CRYPTO`, `NFT`                               | `["CRYPTO"]`        |

**4. Fiat Object (Detailed Banking)**

| Field                    | Type     | Required | Description              | Example              |
| ------------------------ | -------- | -------- | ------------------------ | -------------------- |
| **`fiat.number`**        | `string` | Yes      | Account number.          | `"123456789"`        |
| **`fiat.swift`**         | `string` | No       | SWIFT/BIC code.          | `"CHASUS33"`         |
| **`fiat.sortCode`**      | `string` | No       | Sort code (UK).          | `"40-30-20"`         |
| **`fiat.name`**          | `string` | No       | Account name.            | `"Business Account"` |
| **`fiat.transitNumber`** | `string` | No       | Transit number (Canada). | `"12345"`            |
| **`fiat.routingNumber`** | `string` | No       | Routing number (US).     | `"021000021"`        |

**Fiat Additional Information**

| Field                                           | Type     | Required | Description              | Allowed Values                       | Example              |
| ----------------------------------------------- | -------- | -------- | ------------------------ | ------------------------------------ | -------------------- |
| **`fiat.additionalInformation.type`**           | `string` | Yes      | Regional account type.   | `TYPE_FIAT_US`, `TYPE_FIAT_GB`, etc. | `"TYPE_FIAT_US"`     |
| **`fiat.additionalInformation.supportedRails`** | `array`  | Yes      | Supported payment rails. | `ACH`, `FEDWIRE`, `SWIFT`, etc.      | `["ACH", "FEDWIRE"]` |
| **`fiat.additionalInformation.accountType`**    | `string` | Yes      | Account type.            | `CHECKING`, `SAVING`                 | `"CHECKING"`         |

**Intermediary Bank (for International Transfers)**

| Field                                                            | Type     | Required | Description             | Example           |
| ---------------------------------------------------------------- | -------- | -------- | ----------------------- | ----------------- |
| **`fiat.additionalInformation.intermediary.bank.name`**          | `string` | No       | Intermediary bank name. | `"Citibank N.A."` |
| **`fiat.additionalInformation.intermediary.bank.number`**        | `string` | No       | Intermediary account.   | `"876543210"`     |
| **`fiat.additionalInformation.intermediary.bank.routingNumber`** | `string` | No       | Intermediary routing.   | `"021000089"`     |

***

### **Response (200 OK)**

Returns the created account with system-generated ID and complete details including counterparty and customer information.

**Example Response:**

json

```
{
  "item": {
    "accountId": "acc_12345",
    "currencyCode": "USD",
    "status": "NEW",
    "bank": {
      "name": "Chase Bank",
      "number": "123456789",
      "address": {
        "addressLine1": "456 Bank Street",
        "city": "New York",
        "stateIso": "NY",
        "countryIso": "US",
        "postalCode": "10002"
      },
      "routingNumber": "021000021"
    },
    "name": "Business Checking Account",
    "number": "123456789",
    "type": "CHECKING",
    "fiat": {
      "number": "123456789",
      "routingNumber": "021000021",
      "additionalInformation": {
        "type": "TYPE_FIAT_US",
        "supportedRails": ["ACH", "FEDWIRE"],
        "accountType": "CHECKING"
      }
    },
    "counterparty": {
      "id": "cp_12345",
      "name": "Tech Supplies Corp",
      "phone": "+19876543210",
      "email": "contact@techsupplies.com"
    },
    "customer": {
      "id": "cust_12345",
      "name": "John Doe",
      "phone": "+1234567890",
      "email": "john@example.com",
      "status": "ACCEPT"
    },
    "createdAt": "2024-05-21T14:30:00Z",
    "updatedAt": "2024-05-21T14:30:00Z"
  }
}
```

***

### **Response Fields**

| Field                   | Type     | Description                  | Example                       |
| ----------------------- | -------- | ---------------------------- | ----------------------------- |
| **`item.accountId`**    | `string` | System-generated account ID. | `"acc_12345"`                 |
| **`item.name`**         | `string` | Account name/description.    | `"Business Checking Account"` |
| **`item.number`**       | `string` | Account number.              | `"123456789"`                 |
| **`item.type`**         | `string` | Account type.                | `"CHECKING"`                  |
| **`item.createdAt`**    | `string` | Creation timestamp.          | `"2024-05-21T14:30:00Z"`      |
| **`item.updatedAt`**    | `string` | Last update timestamp.       | `"2024-05-21T14:30:00Z"`      |
| **`item.counterparty`** | `object` | Counterparty details.        | -                             |
| **`item.customer`**     | `object` | Customer details.            | -                             |

***

### **Field Details**

#### **Account Status Values**

| Status             | Description                                   |
| ------------------ | --------------------------------------------- |
| **`NEW`**          | Account newly created, pending verification   |
| **`AWAIT`**        | Awaiting additional information/documentation |
| **`MODERATION`**   | Under review by compliance team               |
| **`ACCEPT`**       | Approved and active for transactions          |
| **`REJECT`**       | Rejected during verification                  |
| **`BANNED`**       | Permanently blocked from transactions         |
| **`VERIFICATION`** | In verification process                       |

#### **Supported Fiat Types**

| Type               | Region         | Description           |
| ------------------ | -------------- | --------------------- |
| **`TYPE_FIAT_US`** | United States  | US banking system     |
| **`TYPE_FIAT_GB`** | United Kingdom | UK banking system     |
| **`TYPE_FIAT_EU`** | European Union | SEPA region           |
| **`TYPE_FIAT_IN`** | India          | Indian banking system |
| **`TYPE_FIAT_CA`** | Canada         | Canadian banking      |
| **`TYPE_FIAT_SG`** | Singapore      | Singapore banking     |

#### **Supported Payment Rails**

| Rail          | Description                  | Region |
| ------------- | ---------------------------- | ------ |
| **`ACH`**     | Automated Clearing House     | US     |
| **`FEDWIRE`** | Federal Wire Transfer        | US     |
| **`SWIFT`**   | International wire transfers | Global |
| **`SEPA_CT`** | SEPA Credit Transfer         | EU     |

***

### **Notes**

* **Currency Requirement**: `currencyCode` is mandatory for all account types
* **Verification Process**: New accounts start with `NEW` status and require verification
* **Multi-Currency Support**: Counterparties can have multiple accounts in different currencies
* **Payment Rails**: Specify supported payment methods based on account type and region, one account can only support one type of payment rails
* **Compliance**: All accounts undergo KYC/AML verification based on regional regulations

**Common Use Cases**:

* Adding additional payment methods for existing counterparties
* Supporting multi-currency transactions
* Expanding payment options (traditional + crypto)

#### Examples

Real request sample

```json
{
    "item": {
        "currencyCode": "EUR",
        "bank": {
            "address": {
                "addressLine1": "456 Park Avenue",
                "city": "New York",
                "countryIso": "US",
                "postalCode": "10022",
                "stateIso": "NY"
            },
            "name": "Bank of America",
            "number": "161465165651",
            "routingNumber": null
        },
        "fiat": {
            "ifsc": "SBIN0001234",
            "name": "EUR 0",
            "number": "9876543210",
            "routingNumber": "121000358",
            "sortCode": "65265",
            "swift": "BOFAUS3N",
            "transitNumber": "121000358",
            "additionalInformation": {
                "type": "TYPE_FIAT_EU",
                "accountType": "CHECKING",
                "supportedRails": [
                    "SEPA_CT"
                ],
                "intermediary": {
                    "type": "",
                    "bank": {
                        "name": null,
                        "number": "",
                        "routingNumber": "",
                        "address": {
                            "addressLine1": "",
                            "addressLine2": "",
                            "addressLine3": null,
                            "city": "",
                            "stateIso": "",
                            "countryIso": "",
                            "postalCode": "",
                            "unitNumber": null
                        }
                    }
                }
            }
        }
    }
}
```

Real response sample

```json
{
    "item": {
        "accountId": "E5YoALwL60jK",
        "currencyCode": "EUR",
        "status": "MODERATION",
        "bank": {
            "name": "Bank of America",
            "number": "161465165651",
            "address": {
                "addressLine1": "456 Park Avenue",
                "addressLine2": "",
                "addressLine3": "",
                "city": "New York",
                "stateIso": "NY",
                "countryIso": "US",
                "postalCode": "10022",
                "unitNumber": ""
            }
        },
        "name": "EUR 0",
        "number": "9876543210",
        "type": "Fiat",
        "fiat": {
            "number": "9876543210",
            "ifsc": "SBIN0001234",
            "swift": "BOFAUS3N",
            "sortCode": "65265",
            "name": "EUR 0",
            "transitNumber": "121000358",
            "routingNumber": "121000358",
            "additionalInformation": {
                "type": "TYPE_FIAT_EU",
                "supportedRails": [
                    "SEPA_CT"
                ],
                "intermediary": {
                    "type": "TYPE_CRYPTO",
                    "bank": {
                        "number": "",
                        "address": {
                            "addressLine1": "",
                            "addressLine2": "",
                            "addressLine3": "",
                            "city": "",
                            "stateIso": "",
                            "countryIso": "",
                            "postalCode": "",
                            "unitNumber": ""
                        },
                        "routingNumber": ""
                    }
                },
                "accountType": "CHECKING"
            },
            "accountNumberType": "ANT_NOTSET",
            "transitNumberCode": "TNC_NOTSET"
        },
        "counterparty": {
            "id": "",
            "name": "",
            "phone": "",
            "email": ""
        },
        "customer": {
            "id": "",
            "name": "",
            "phone": "",
            "email": "",
            "status": "NEW"
        },
        "createdAt": null,
        "updatedAt": null
    }
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.delos.financial/counterparties/create-counterparty-account.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
