---
title: "Assess Update Transfer"
method: PUT
path: "/programs/{programCode}/transfers/{transferIdentifier}/assessment"
tags: ["Transfers"]
---

# Assess Update Transfer

`PUT /programs/{programCode}/transfers/{transferIdentifier}/assessment`

Assesses the prerequisites and eligibility for updating an existing transfer. Returns assessment results and any unmet requirements.

## Path parameters

- `programCode` string, required
- `transferIdentifier` string, required

## Headers

- `X-GD-RequestId` string, required

## Request body

- AssessUpdateTransferRequest — Represents a request to assess the eligibility, risk, and prerequisites for updating a transfer. Inherits all properties from Gd.Bos.DataTransfer.Request.UpdateTransferRequest and is used to validate and pre-check a transfer update operation before execution, including authorization type, transfer endpoint, device information, and debit-to-negative settings. This assessment helps ensure compliance, risk mitigation, and business rule validation prior to performing the actual update.
  - `transferAuthorizationType` string, nullable — The type of authorization being requested for the transfer update (e.g., "execute", "hold", "accept", "cancel", "reject", "system", "reverse"). Determines the intended action for the transfer update.
  - `transferEndpoint` UpdateTransferEndpoint — Represents the endpoint details for updating a transfer, such as the source or target of funds. Contains information about the endpoint type, unique identifier, and card data (encrypted or unencrypted) used in the transfer update process. Used to specify or modify the source or destination for a transfer during an update operation.
    - `isSource` boolean — Indicates whether this endpoint is the source of funds (true) or the target (false) in the transfer.
    - `transferEndPointType` string, nullable — The type of transfer endpoint (e.g., "account", "card", "external"). Specifies the nature of the source or target for the transfer.
    - `identifier` string, nullable — The unique identifier for the endpoint, such as an account number, card number, or external reference.
    - `encryptedCardData` EncryptedData — Represents a container for encrypted data used in secure data transfer operations. Contains the encrypted payload and associated cryptographic metadata, including encryption version, ephemeral public key, and public key hash. Used to securely transmit sensitive information such as user data, ensuring confidentiality and integrity during transport.
      - `version` string, nullable — The version of the encryption algorithm used to encrypt the data (e.g., "v1", "v2").
      - `ephemeralPublicKey` string, nullable — The ephemeral public key used in the encryption process, typically for key exchange or session establishment.
      - `publicKeyHash` string, nullable — The hash of the public key used to verify the integrity and authenticity of the encryption key.
      - `data` string, nullable — The encrypted data payload, typically base64-encoded, containing the sensitive information.
  - `debitToNegative` boolean, nullable — Indicates whether the update allows the account to be debited to a negative balance (true if allowed).
  - `device` DeviceInfo — Represents device-specific information used when initiating a transfer or other sensitive operation. Contains details about the device and network, such as device ID, make, model, operating system, and IP addresses. Used for device identification, risk assessment, auditing, and fraud prevention.
    - `deviceId` string, nullable — The unique identifier assigned to the device (e.g., device UUID or hardware ID). Used to uniquely identify the device making the request.
    - `deviceMake` string, nullable — The make or manufacturer of the device (e.g., "Apple", "Samsung", "Dell").
    - `deviceVersion` string, nullable — The model or version of the device (e.g., "iPhone 14", "Galaxy S22", "Latitude 7420").
    - `deviceOS` string, nullable — The operating system running on the device (e.g., "iOS", "Android", "Windows").
    - `deviceOSVersion` string, nullable — The version of the operating system running on the device (e.g., "16.4", "13", "11 Pro").
    - `ipAddress` string, nullable — The IP address of the device as detected by the application or device itself. Used for geolocation, risk analysis, and fraud prevention.
    - `customerIP` string, nullable — The customer’s public IP address as seen by the server or network edge. May be used for additional risk analysis or logging.

## Response `200`

OK

- AssessUpdateTransferResponse — Represents the response returned after assessing an update to a transfer. Provides information about applicable limits that may affect the update operation, such as transaction amount, frequency, and remaining allowance. Used to determine compliance with business rules and regulatory requirements before performing a transfer update.
  - `limits` Limit[], nullable — A list of limits applicable to the transfer update, such as daily, monthly, or per-transaction limits. Each limit includes type, frequency, minimum/maximum amounts, and remaining allowance.
    - `type` string, nullable — The type of limit (e.g., "Transfer", "Withdrawal", "Deposit").
    - `frequency` string, nullable — The frequency at which the limit applies (e.g., "Daily", "Monthly", "PerTransaction").
    - `minimumAmount` number, double — The minimum amount allowed for the operation, in the relevant currency.
    - `maximumAmount` number, double — The maximum amount allowed for the operation, in the relevant currency.
    - `amountRemaining` number, double, nullable — The remaining amount available under this limit for the current period or context.
    - `initialTransferDateTime` string, date-time, nullable — The date and time when the initial transfer or operation was performed, if applicable.
    - `subsequentTransferAllowed` boolean, nullable — Indicates whether subsequent transfers or operations are allowed after the initial one.
    - `count` integer, nullable — The number of times the operation has been performed or the count of transactions within the limit period.
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/versions/666553766b78/schema)
