---
title: "Append PII data to a transfer"
method: POST
path: "/entities/{entityDID}/tx/{transferId}/append"
tags: ["Transfers"]
---

# Append PII data to a transfer

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

Appends IVMS101 PII (Personally Identifiable Information) data to an existing transfer. The PII data is validated against the transfer's presentation definition (if set) and encrypted before storage. All arrays in the IVMS101 structure are limited to 25 items to prevent unbounded payload attacks.

## Path parameters

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

## Request body

- object
  - `ivms101` IVMS101Input, required
    - `PayloadMetadata` object
      - `payloadVersion` string
    - `originator` object
      - `originatorPerson` object[]
        - `naturalPerson` object
          - `name` object
            - `nameIdentifier` object[]
              - …
            - `localNameIdentifier` object[]
              - …
            - `phoneticNameIdentifier` object[]
              - …
          - `geographicAddress` object[]
            - `addressType` string
            - `department` string
            - `subDepartment` string
            - `streetName` string
            - `buildingNumber` string
            - `buildingName` string
            - `floor` string
            - `postBox` string
            - `room` string
            - `postCode` string, nullable
            - `townName` string
            - `townLocationName` string
            - `districtName` string
            - `countrySubDivision` string, nullable
            - `addressLine` string[]
            - `country` string
          - `nationalIdentification` object
            - `nationalIdentifier` string
            - `nationalIdentifierType` string
            - `countryOfIssue` string
            - `registrationAuthority` string
          - `customerIdentification` string
          - `dateAndPlaceOfBirth` object
            - `dateOfBirth` string
            - `placeOfBirth` string
          - `countryOfResidence` string
        - `legalPerson` object
          - `name` object
            - `nameIdentifier` object[]
              - …
            - `localNameIdentifier` object[]
              - …
            - `phoneticNameIdentifier` object[]
              - …
          - `geographicAddress` object[]
            - `addressType` string
            - `department` string
            - `subDepartment` string
            - `streetName` string
            - `buildingNumber` string
            - `buildingName` string
            - `floor` string
            - `postBox` string
            - `room` string
            - `postCode` string, nullable
            - `townName` string
            - `townLocationName` string
            - `districtName` string
            - `countrySubDivision` string, nullable
            - `addressLine` string[]
            - `country` string
          - `customerIdentification` string
          - `nationalIdentification` object
            - `nationalIdentifier` string
            - `nationalIdentifierType` string
            - `countryOfIssue` string
            - `registrationAuthority` string
          - `countryOfRegistration` string
        - `accountNumber` string[]
      - `accountNumber` string[]
      - `@id` string
    - `beneficiary` object
      - `beneficiaryPerson` object[]
        - `naturalPerson` object
          - `name` object
            - `nameIdentifier` object[]
              - …
            - `localNameIdentifier` object[]
              - …
            - `phoneticNameIdentifier` object[]
              - …
          - `geographicAddress` object[]
            - `addressType` string
            - `department` string
            - `subDepartment` string
            - `streetName` string
            - `buildingNumber` string
            - `buildingName` string
            - `floor` string
            - `postBox` string
            - `room` string
            - `postCode` string, nullable
            - `townName` string
            - `townLocationName` string
            - `districtName` string
            - `countrySubDivision` string, nullable
            - `addressLine` string[]
            - `country` string
          - `nationalIdentification` object
            - `nationalIdentifier` string
            - `nationalIdentifierType` string
            - `countryOfIssue` string
            - `registrationAuthority` string
          - `customerIdentification` string
          - `dateAndPlaceOfBirth` object
            - `dateOfBirth` string
            - `placeOfBirth` string
          - `countryOfResidence` string
        - `legalPerson` object
          - `name` object
            - `nameIdentifier` object[]
              - …
            - `localNameIdentifier` object[]
              - …
            - `phoneticNameIdentifier` object[]
              - …
          - `geographicAddress` object[]
            - `addressType` string
            - `department` string
            - `subDepartment` string
            - `streetName` string
            - `buildingNumber` string
            - `buildingName` string
            - `floor` string
            - `postBox` string
            - `room` string
            - `postCode` string, nullable
            - `townName` string
            - `townLocationName` string
            - `districtName` string
            - `countrySubDivision` string, nullable
            - `addressLine` string[]
            - `country` string
          - `customerIdentification` string
          - `nationalIdentification` object
            - `nationalIdentifier` string
            - `nationalIdentifierType` string
            - `countryOfIssue` string
            - `registrationAuthority` string
          - `countryOfRegistration` string
        - `accountNumber` string[]
      - `accountNumber` string[]
      - `@id` string
  - `originator` object — Optional originator reference. When both originator and beneficiary @id are provided, enables PII reuse.
    - `@id` string
  - `beneficiary` object — Optional beneficiary reference. When both originator and beneficiary @id are provided, enables PII reuse.
    - `@id` string
  - `agents` Agent[] — Optional agents to add during append operation
    - `@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`

Transfer PII data appended successfully

- 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)
