---
title: "Link VASP counterparty user info to a transaction"
method: POST
path: "/counterparty/vasp/counterparty-user-info/link"
tags: ["Counterparty"]
---

# Link VASP counterparty user info to a transaction

`POST /counterparty/vasp/counterparty-user-info/link`

## Request body

- LinkVaspCounterpartyUserInfoRequest — Link beneficiary info to a held transaction. Exactly one of txHash/paymentHash/invoice.
  - `userId` string, uuid — Owner user id. Provide exactly one of userId / businessId.
  - `businessId` string, uuid — Owner business id. Provide exactly one of userId / businessId.
  - `vaspCounterpartyUserInfoId` string, uuid, required
  - `txHash` string
  - `paymentHash` string
  - `invoice` string

## Response `201`

Linked. Returns the locator echoed back with the resolved user-info and counterparty IDs.

- object
  - `vaspCounterpartyUserInfoId` string, uuid, required
  - `counterpartyId` string, uuid, required
  - `txHash` string — Present when linked by on-chain tx hash.
  - `paymentHash` string — Present when linked by Lightning payment hash.

## Other responses

- `400` — Validation failed
- `401` — Invalid authentication header
- `404` — VASP counterparty user-info record or transaction not found.
- `409` — User-info already linked to a different transaction, a different user-info already linked to this transaction, or the deposit was already processed by an incoming TFR message (`42047`). Other `errorCode` values: `42045` (already linked), `42042` (conflict).
- `500` — Unexpected server error.

---

[API](https://skmtc.net/striga/apis/striga-v1.md) · [All operations](https://skmtc.net/striga/apis/striga-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/striga/striga-v1/revisions/63e57aa7df45/schema)
