---
title: "Update counterparty"
method: PATCH
path: "/v1/counterparties/{counterpartyId}"
tags: ["Counterparties"]
---

# Update counterparty

`PATCH /v1/counterparties/{counterpartyId}`

Updates counterparty attributes. At least one field must be provided. Use null on externalId to clear it.

## Path parameters

- `counterpartyId` string, required — Counterparty identifier.

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Request body

- object — Update counterparty request body. At least one field must be provided.
  - `externalId` string, nullable — Updated opaque external ID. Do not include personal data. Use null to clear.
  - `entityType` 'individual' | 'business' — Updated counterparty entity type.
  - `displayName` string — Updated searchable display name. Keep it minimal.

## Response `200`

Counterparty updated

- object — Standard success response envelope.
  - `data` object, required — Counterparty response payload.
    - `counterparty` object, required — Counterparty record.
      - `id` string, required — Counterparty identifier.
      - `organizationId` string, required — Organization identifier.
      - `projectId` string, nullable, required — Project scope when the counterparty is project-scoped.
      - `externalId` string, nullable, required — Caller-supplied opaque identifier for cross-system reference. Do not place personal data in this indexed field.
      - `entityType` 'individual' | 'business', required — Counterparty entity type.
      - `displayName` string, required — Human-readable, searchable display name. Keep it minimal because this indexed field is not application-encrypted.
      - `status` 'active' | 'archived', required — Counterparty status.
      - `createdBy` string, nullable, required — User who created the counterparty. Null when created via API key.
      - `createdAt` string, date-time, required — Creation timestamp.
      - `updatedAt` string, date-time, required — Last update timestamp.
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `404` — Error
- `409` — Error
- `500` — Error

## Changes

- **2026-08-28** `13f3098243d6` — 2 breaking, 2 warning
  - removed the required property `data/counterparty/email` from the response with the `200` status
  - removed the required property `data/counterparty/identity` from the response with the `200` status
  - removed the request property `email`
  - removed the request property `identity`
- **2026-08-15** `3e302bba5386` — 6 warning
  - added the new `SERVICE_UNAVAILABLE` enum value to the `error/code` response property for the response status `400`
  - added the new `SERVICE_UNAVAILABLE` enum value to the `error/code` response property for the response status `401`
  - added the new `SERVICE_UNAVAILABLE` enum value to the `error/code` response property for the response status `403`
  - added the new `SERVICE_UNAVAILABLE` enum value to the `error/code` response property for the response status `404`
  - …2 more

[Change history](https://skmtc.dev/solana/apis/solana-developer-platform-api/changes/v1/counterparties/:counterpartyId/patch.md)

---

[API](https://skmtc.dev/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.dev/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/aedc48d5b49e/schema)
