---
title: "Get a counterparty by identifier"
method: POST
path: "/counterparty/get"
tags: ["Counterparty"]
---

# Get a counterparty by identifier

`POST /counterparty/get`

## Request

- Base URL: `https://sandbox.striga.com/api/v1/travel-rule`
- URL: `https://sandbox.striga.com/api/v1/travel-rule/counterparty/get`
- Auth: API key in header `api-key` and API key in header `Authorization`

## Request body

- GetCounterpartyRequest: Look up a declared counterparty. Exactly one owner + exactly one identifier.
  - `userId` string, uuid: Owner user id. Provide exactly one of userId / businessId.
  - `businessId` string, uuid: Owner business id. Provide exactly one of userId / businessId.
  - `counterpartyAddress` string: On-chain destination address. Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `paymentHash` string: Lightning payment hash (64-hex on BTC). Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `invoice` string: bolt11 invoice (decoded server-side to a payment hash). Provide exactly one of counterpartyAddress / paymentHash / invoice.
  - `network` string, required: Blockchain network for the currency (e.g. `SOL`, `POLYGON`, `ETH`). Must equal the network implied by `currency`.

## Response `200`

OK

- TRCounterparty: Counterparty public shape returned by `POST /counterparty/get`. Includes `walletVerified` for on-chain `SELF_HOSTED` + `OWNED`; see `TRCounterpartyPublic` for declare and verify-wallet responses.
  - `counterpartyId` string, uuid, required
  - `userId` string, uuid
  - `businessId` string, uuid
  - `identityType` 'CONSUMER' | 'BUSINESS', required
  - `counterpartyAddress` string: Set for on-chain counterparties.
  - `paymentHash` string: Set for Lightning (non-invoice) counterparties.
  - `invoice` string: Set when declared with a bolt11 Lightning invoice.
  - `memo` string: Decoded memo from the bolt11 invoice, when present.
  - `network` string, required
  - `type` 'SELF_HOSTED' | 'VASP', required
  - `subType` 'OWNED' | 'THIRD_PARTY' | 'VASP', required
  - `counterpartyData` object: IVMS-oriented payload; shape depends on counterparty `type` / `subType`.
  - `walletVerified` boolean: Present only for on-chain `SELF_HOSTED` + `OWNED` counterparties. `true` when wallet ownership has been verified (`TRWalletVerification.status === VERIFIED`); `false` when unverified. Omitted for Lightning OWNED (wallet verification does not apply), VASP, and THIRD_PARTY.
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: Validation failed
- `401`: Invalid authentication header
- `404`: Counterparty not found for this owner and application.
- `422`: Domain validation error (e.g. unsupported network or identifier format).

---

[API](https://skmtc.dev/striga/apis/travel-rule.md) - [All operations](https://skmtc.dev/striga/apis/travel-rule/llms.txt) - [OpenAPI document](https://skmtc.dev/striga/apis/travel-rule/revisions/c82fbc1ad95b?raw)
