Securities Transfers

Create securities transfer

Changed on

Creates a securities transfer, moving a position in a single instrument between an Upvest account and an external custodian.

Set direction to INCOMING to move securities into an Upvest account, or OUTGOING to move them out to an external custodian. Only full units can be transferred — fractional quantities are not supported by the SWIFT messaging used for settlement. Unfulfilled incoming transfer requests are cancelled automatically after 30 days.

See the securities transfers guide (TOL / BYOL / Omnibus) for the transfer stages and settlement details.

post/securities_transfers

Request

  • Base URL: https://sandbox.upvest.co
  • URL: https://sandbox.upvest.co/securities_transfers
  • Auth: OAuth 2 (client credentials, token URL https://sandbox.upvest.co/auth/token, scopes: securities_transfers:admin)

Headers

idempotency-keystring uuid required
Example:ccb07f42-4104-44ad-8e1f-c660bb7b269c

A UUID to be used as an idempotency key. This prevents a duplicate request from being replayed. https://docs.upvest.co/documentation/concepts/api_concepts/idempotency

Request body

direction'INCOMING' | 'OUTGOING' required

Direction of the securities transfer

  • INCOMING - Securities transfer is incoming to the user.
  • OUTGOING - Securities transfer is outgoing from the user.
instrument_idstring required

ISIN or other identity (depends on instrument_id_type) of the security to be transferred.

instrument_id_type'ISIN' required

The kind of identifier given in instrument_id.

  • ISIN — International Securities Identification Number.
quantitystring required

The quantity of the instrument to move in or out, as a decimal string of at most 15 digits including the decimal place. Only full units settle; fractional quantities are not supported by the SWIFT messaging used for settlement.

transfer_type'NO_OWNER_CHANGE' required

Type of the securities transfer

  • NO_OWNER_CHANGE - No change of ownership.
user_idstring uuid

Unique identifier of the user, as a UUID.

business_idstring uuid

Unique identifier for the business.

account_idstring uuid required

Universally Unique Identifier (UUID) of the account.

place_of_settlementstring

Business Identifier Code (also known as SWIFT-BIC, BIC, SWIFT ID or SWIFT code) ISO 9362.

settlement_referencestring

A reference for the securities transfer, set by the client and useful for correlating the transfer with client-side records. For automatic incoming transfers, where the client subscribes to the corresponding webhook, Upvest sets this value.

trade_datestring date

Optional forecast date when the trade takes place. If provided, usually T+1 is sufficient. Depending on the market this means valid working days. Date in YYYY-MM-DD format.

settlement_datestring date

Optional forecast date when the settlement takes place. If provided, usually T+2 is sufficient or trade_date + 1. Depending on the market this means valid working days. Date in YYYY-MM-DD format.

order_datestring date

Optional date when the transfer request was received from the end user. If omitted, Upvest defaults order_date to the transfer's created_at timestamp. The regulatory deadline runs from this date. Date in YYYY-MM-DD format.

Response

Securities Transfer created

idstring uuid required

The unique identifier of the securities transfer, as a UUID.

created_atstring date-time required

Date and time when the resource was created. RFC 3339-5, ISO8601 UTC

updated_atstring date-time required

Date and time when the resource was last updated. RFC 3339-5, ISO8601 UTC

direction'INCOMING' | 'OUTGOING' required

Direction of the securities transfer

  • INCOMING - Securities transfer is incoming to the user.
  • OUTGOING - Securities transfer is outgoing from the user.
status'NEW' | 'PROCESSING' | 'SETTLED' | 'CANCELLED' required

Status of the securities transfer

  • NEW - Securities transfer is created but not started processing.
  • PROCESSING - Securities transfer is in processing.
  • SETTLED - Securities transfer was successfully settled.
  • CANCELLED - Securities transfer was cancelled.
transfer_type'NO_OWNER_CHANGE' required

Type of the securities transfer

  • NO_OWNER_CHANGE - No change of ownership.
instrument_idstring required

ISIN or other identity (depends on instrument_id_type) of the security to be transferred.

instrument_id_type'ISIN' required

The kind of identifier given in instrument_id.

  • ISIN — International Securities Identification Number.
quantitystring required

The quantity of instrument to move in or out.

quantity_settledstring

The quantity of instruments settled.

user_idstring uuid

Unique identifier of the user, as a UUID.

business_idstring uuid

Unique identifier for the business.

account_idstring uuid required

Universally Unique Identifier (UUID) of the account.

place_of_settlementstring

Business Identifier Code (also known as SWIFT-BIC, BIC, SWIFT ID or SWIFT code) ISO 9362.

settlement_referencestring required

A reference for the securities transfer, set by the client and useful for correlating the transfer with client-side records.

trade_datestring date required

The forecast date when the trade takes place. Date in YYYY-MM-DD format.

settlement_datestring date required

The forecast date when the settlement takes place. Date in YYYY-MM-DD format.

actual_settlement_datestring date

The date when the transfer settled, only known in SETTLED status. Date in YYYY-MM-DD format.

order_datestring date

Optional. Date the transfer request was received from the end user. The regulatory deadline runs from this date. Date in YYYY-MM-DD format.

delay_reason'COUNTERPARTY_NOT_INSTRUCTING' | 'COUNTERPARTY_NOT_RESPONDING' | 'COUNTERPARTY_DOES_NOT_AGREE_TO_DELIVERY_DETAILS' | 'COUNTERPARTY_NOT_ACCEPTING'

Categorised reason why a securities transfer is delayed past the regulatory deadline.

  • COUNTERPARTY_NOT_INSTRUCTING - The counterparty has not yet instructed the transfer.
  • COUNTERPARTY_NOT_RESPONDING - The counterparty is not responding.
  • COUNTERPARTY_DOES_NOT_AGREE_TO_DELIVERY_DETAILS - The counterparty does not agree to the delivery details.
  • COUNTERPARTY_NOT_ACCEPTING - The counterparty is not accepting the transfer.

Changes

    • breaking

      added subschema #1: User unique identifier. to the request property allOf list

    • breaking

      the request property type changed from string to no type, and format from uuid to no format

    • breaking

      the response property became optional for the status

    • breaking

      the response's property type changed from string to no type, and format from uuid to no format for status

    • info

      added the new optional request property

    • info

      the request property became optional

    • info

      the request property became optional

    • info

      added the optional property to the response with the status

    • info

      added subschema #1: User unique identifier. to the response property allOf list for the response status