---
title: "Add an agent to a transfer"
method: POST
path: "/entities/{entityDID}/tx/{transferId}/agents"
tags: ["Transfers"]
---

# Add an agent to a transfer

`POST /entities/{entityDID}/tx/{transferId}/agents`

Adds an agent (VASP, custodian, etc.) to an existing transfer. The agent must have a valid DID and role.

## Path parameters

- `entityDID` string, did, required — Decentralized Identifier (DID)
- `transferId` string, uuid, required

## Request body

- object
  - `agent` Agent, required
    - `@id` string, required
    - `role` 'VASP' | 'Custodian' | 'SettlementAddress' | 'SourceAddress' | 'Gateway' | 'Unknown'
    - `for` string
    - `policies` object[]
      - `@type` 'REQUIRE_AUTHORIZATION' | 'REQUIRE_PRESENTATION' | 'REQUIRE_RELATIONSHIP_CONFIRMATION', required
    - `memoTag` string — Optional memo tag or destination tag for address agents (SourceAddress, SettlementAddress)
    - `selectedAsset` string — Asset selected by this agent (CAIP-19 or ISO currency identifier)
    - `selectedSettlementAddress` string — Settlement address selected by this agent

## Response `202`

Agent addition accepted

- object
  - `message` string

## Other responses

- `400` — Bad Request - The server could not process the request due to a client error.
- `401` — Unauthorized - Authentication information is missing or invalid.
- `403` — Forbidden - The server understood the request but refuses to authorize it.
- `404` — Not Found - The requested resource could not be found.
- `409` — Conflict - The request could not be completed due to a conflict with the current state of the resource.
- `500` — Internal Server Error - An unexpected condition was encountered on the server.

---

[API](https://skmtc.net/notabene/apis/notabene-api.md) · [All operations](https://skmtc.net/notabene/apis/notabene-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/notabene/notabene-api/versions/70056745a433/schema)
