---
title: "Create external party"
method: POST
path: "/external-parties"
tags: ["External Parties"]
---

# Create external party

`POST /external-parties`

Create an external party to transact with over Direct

## Headers

- `Idempotency-Key` string, required
- `X-Instance-ID` string, nullable

## Request body

- object
  - `data` object, required
    - `attributes` object, required
      - `customerPartyId` string — Customer party to act for (pty_*). Omit to act as your own party. To act for another party, pass the ID of a party that has authorized you to act on its behalf.
      - `kind` 'individual' | 'business', required — External party type.
      - `name` string, required — External party name.
      - `email` string, email — External party email address.
      - `phone` string — External party phone number. It is normalized to E.164.
      - `address` object — Address. US addresses require `state` and `postalCode`.
        - `line1` string, required — Street address line 1.
        - `line2` string — Street address line 2.
        - `city` string, required — City.
        - `state` string — State or province. Required for US addresses.
        - `postalCode` string — Postal or ZIP code. Required for US addresses.
        - `countryCode` string, required — ISO 3166-1 alpha-2 country code.

## Response `201`

Successful Response

- object
  - `data` object, required
    - `id` string, required — External party ID (epty_*).
    - `type` 'external_party', required — Resource type. Always `external_party`.
    - `attributes` object, required
      - `kind` 'individual' | 'business', required — External party type.
      - `name` string, required — External party display or legal name.
      - `email` string, nullable, required — Normalized email address, if supplied.
      - `phone` string, nullable, required — Normalized E.164 phone number, if supplied.
      - `address` object, nullable, required — External party address.
        - `line1` string, nullable, required — Street address line 1.
        - `line2` string, nullable, required — Street address line 2, or null.
        - `city` string, nullable, required — City.
        - `state` string, nullable, required — State or province, or null.
        - `postalCode` string, nullable, required — Postal or ZIP code, or null.
        - `countryCode` string, nullable, required — ISO 3166-1 alpha-2 country code.
      - `addressVersion` integer, nullable, required — Address revision for concurrent correction checks. Null on older cached create responses; get the external party before correction.
      - `screeningStatus` 'clear' | 'under_review' | 'rejected', required — Sanctions screening disposition.
      - `archivedAt` string, nullable, required — RFC 3339 timestamp when the external party was archived, or null while active.
      - `createdAt` string, required — RFC 3339 timestamp when the external party was created.
      - `updatedAt` string, required — RFC 3339 timestamp when the external party was last updated.
    - `relationships` object, required
      - `customer` object, required — Customer party.
        - `data` object, required — Related resource identifier.
          - `type` 'party', required — Resource type. Always `party`.
          - `id` string, required

## Other responses

- `400` — Validation Error
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found. Returned when the resource does not exist, or when it exists but is not accessible to your account. The two cases are intentionally indistinguishable, so that resource IDs cannot be enumerated by probing.
- `409` — Conflict
- `422` — Validation Error. The response contains one error object for each invalid request value.
- `428` — Precondition Required
- `429` — Too Many Requests
- `500` — Internal Server Error
- `501` — Not Implemented
- `502` — Bad Gateway
- `503` — Service Unavailable

## Changes

- **2026-09-11** `226131258c12` — 1 info
  - added the required property `data/attributes/addressVersion` to the response with the `201` status
- **2026-09-09** `ccc52bdd2ca7` — 4 breaking, 1 info
  - the request property `data/attributes/address/city` became required
  - the request property `data/attributes/address/countryCode` became required
  - the request property `data/attributes/address/line1` became required
  - added the pattern `^[A-Za-z]{2}$` to the request property `data/attributes/address/countryCode`
  - …1 more
- **2026-09-02** `c7c12da5915f` — 12 info
  - added the optional property `errors/items/meta/limitScope` to the response with the `400` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `401` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `403` status
  - added the optional property `errors/items/meta/limitScope` to the response with the `404` status
  - …8 more
- **2026-08-27** `359d267dca88` — 1 info
  - deleted the `header` request parameter `X-Agent-ID` with deprecation
- **2026-08-23** `b1ad79e918ac` — 1 info
  - `header` request parameter `X-Agent-ID` was deprecated

[Full history](https://skmtc.dev/natural/apis/natural-api/changes/external-parties/post.md)

---

[API](https://skmtc.dev/natural/apis/natural-api.md) · [All operations](https://skmtc.dev/natural/apis/natural-api/llms.txt) · [OpenAPI document](https://skmtc.dev/natural/apis/natural-api/revisions/a7210001d0d4?raw)
