---
title: "List securities transfers"
method: GET
path: "/securities_transfers"
tags: ["Securities Transfers"]
---

# List securities transfers

`GET /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`, `securities_transfers:read`)

Returns the list of securities transfers.

Restrict the list to one direction with the `direction` query parameter, and page through results with the `offset` and `limit` query parameters; `meta.total_count` gives the total number of matching transfers.

See the securities transfers guide ([TOL](https://docs.upvest.co/products/tol/guides/transfers/securities_transfers_overview) / [BYOL](https://docs.upvest.co/products/byol/guides/transfers/securities_transfers_overview) / [Omnibus](https://docs.upvest.co/products/omnibus/guides/transfers/securities_transfers_overview)) for the transfer stages and settlement details.

## Query parameters

- `direction` 'INCOMING' | 'OUTGOING', required
- `sort` 'created_at' | 'updated_at'
- `order` 'ASC' | 'DESC'
- `offset` integer
- `limit` integer
- `user_id` string, uuid: Unique identifier of the user, as a UUID.
- `account_id` string, uuid: Universally Unique Identifier (UUID) of the account.
- `account_group_id` string, uuid: Universally Unique Identifier (UUID) of the account group.
- `status` 'NEW' | 'PROCESSING' | 'CANCELLED' | 'SETTLED'

## Response `200`

Securities Transfers list

- object: Paginated list of securities transfers. Contains a `data` array of securities transfer objects and a `meta` object with offset/limit pagination metadata.
  - `meta` object, required: Offset/limit pagination metadata for a list response. Contains the `offset` and `limit` applied to the request, the `count` of resources returned in this page, and the `total_count` of matching resources.
    - `offset` integer, required: Amount of resource to offset in the response.
    - `limit` integer, required: Total limit of the response.
    - `count` integer, required: Count of the resources returned in the response.
    - `total_count` integer, required: Total count of all the resources.
    - `sort` string: The field that the list is sorted by.
    - `order` 'ASC' | 'DESC': The ordering applied to the list. * ASC — Ascending order. * DESC — Descending order.
  - `data` object[], required: The securities transfers in this page of results.
    - `id` string, uuid, required: The unique identifier of the securities transfer, as a UUID.
    - `created_at` string, date-time, required: Date and time when the resource was created. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)
    - `updated_at` string, date-time, required: Date and time when the resource was last updated. [RFC 3339-5](https://datatracker.ietf.org/doc/html/rfc3339#section-5.6), [ISO8601 UTC](https://www.iso.org/iso-8601-date-and-time-format.html)
    - `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_id` string, 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.
    - `quantity` string, required: The quantity of instrument to move in or out.
    - `quantity_settled` string: The quantity of instruments settled.
    - `user_id` string, uuid: Unique identifier of the user, as a UUID.
    - `business_id` string, uuid: Unique identifier for the business.
    - `account_id` string, uuid, required: Universally Unique Identifier (UUID) of the account.
    - `place_of_settlement` string: Business Identifier Code (also known as SWIFT-BIC, BIC, SWIFT ID or SWIFT code) [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362).
    - `settlement_reference` string, required: A reference for the securities transfer, set by the client and useful for correlating the transfer with client-side records.
    - `counterparty` object, required: Counterparty with BIC (Bank Identifier Code) based identification for securities transfer.
      - `type` string, required: Type of the counterparty.
      - `id` string, required: Business Identifier Code (also known as SWIFT-BIC, BIC, SWIFT ID or SWIFT code) [ISO 9362](https://en.wikipedia.org/wiki/ISO_9362).
      - `account_number` string: The account number is composed of valid Swift charset with a max length of 28 if provided. The account number helps other brokers identify the owner of the assets.
      - `name` string: The name is going to be split into 4 lines of 35 characters, the split is space based. This means that even if the name is exactly 140 of length, we may drop out the last parts if they don't fit into 4x35.
    - `settlement_counterparties` object: Settlement counterparties for the securities transfer. When `settlement_counterparties` is provided, `settlement_agent` is required. Other participants are optional but must respect the following dependency rules: * `settlement_custodian` presence requires `settlement_party` to be present. * `settlement_intermediary_1` presence requires `settlement_custodian` to be present. * `settlement_intermediary_2` presence requires `settlement_intermediary_1` to be present. Note: `settlement_custodian` can be provided without an explicit `settlement_party` since the default `counterparty` field at transfer level serves as the settlement party.
      - `settlement_agent` object, required: A participant in the settlement chain, identified by an identification and an optional account.
        - `identification` object, required: Identification of a settlement counterparty. * `BIC` Party identified by BIC. * `PROPRIETARY` Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` Party identified by name and address.
          - `type` 'BIC' | 'PROPRIETARY' | 'NAME_AND_ADDRESS', required: Type of identification. * `BIC` - Party identified by BIC. * `PROPRIETARY` - Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` - Party identified by name and address.
          - `value` string, required: Identification value. The format depends on the `type`: * For `BIC`: A valid BIC code. * For `PROPRIETARY`: A proprietary identifier under the given `scheme`. * For `NAME_AND_ADDRESS`: Name and address of the party.
          - `scheme` string: ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).
        - `account` object: Account of a settlement counterparty. * `SAFE` - Safekeeping account.
          - `type` 'SAFE', required: Type of the account. * `SAFE` - Safekeeping account.
          - `value` string, required: Account identifier value.
      - `settlement_custodian` object: A participant in the settlement chain, identified by an identification and an optional account.
        - `identification` object, required: Identification of a settlement counterparty. * `BIC` Party identified by BIC. * `PROPRIETARY` Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` Party identified by name and address.
          - `type` 'BIC' | 'PROPRIETARY' | 'NAME_AND_ADDRESS', required: Type of identification. * `BIC` - Party identified by BIC. * `PROPRIETARY` - Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` - Party identified by name and address.
          - `value` string, required: Identification value. The format depends on the `type`: * For `BIC`: A valid BIC code. * For `PROPRIETARY`: A proprietary identifier under the given `scheme`. * For `NAME_AND_ADDRESS`: Name and address of the party.
          - `scheme` string: ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).
        - `account` object: Account of a settlement counterparty. * `SAFE` - Safekeeping account.
          - `type` 'SAFE', required: Type of the account. * `SAFE` - Safekeeping account.
          - `value` string, required: Account identifier value.
      - `settlement_intermediary_1` object: A participant in the settlement chain, identified by an identification and an optional account.
        - `identification` object, required: Identification of a settlement counterparty. * `BIC` Party identified by BIC. * `PROPRIETARY` Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` Party identified by name and address.
          - `type` 'BIC' | 'PROPRIETARY' | 'NAME_AND_ADDRESS', required: Type of identification. * `BIC` - Party identified by BIC. * `PROPRIETARY` - Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` - Party identified by name and address.
          - `value` string, required: Identification value. The format depends on the `type`: * For `BIC`: A valid BIC code. * For `PROPRIETARY`: A proprietary identifier under the given `scheme`. * For `NAME_AND_ADDRESS`: Name and address of the party.
          - `scheme` string: ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).
        - `account` object: Account of a settlement counterparty. * `SAFE` - Safekeeping account.
          - `type` 'SAFE', required: Type of the account. * `SAFE` - Safekeeping account.
          - `value` string, required: Account identifier value.
      - `settlement_intermediary_2` object: A participant in the settlement chain, identified by an identification and an optional account.
        - `identification` object, required: Identification of a settlement counterparty. * `BIC` Party identified by BIC. * `PROPRIETARY` Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` Party identified by name and address.
          - `type` 'BIC' | 'PROPRIETARY' | 'NAME_AND_ADDRESS', required: Type of identification. * `BIC` - Party identified by BIC. * `PROPRIETARY` - Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` - Party identified by name and address.
          - `value` string, required: Identification value. The format depends on the `type`: * For `BIC`: A valid BIC code. * For `PROPRIETARY`: A proprietary identifier under the given `scheme`. * For `NAME_AND_ADDRESS`: Name and address of the party.
          - `scheme` string: ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).
        - `account` object: Account of a settlement counterparty. * `SAFE` - Safekeeping account.
          - `type` 'SAFE', required: Type of the account. * `SAFE` - Safekeeping account.
          - `value` string, required: Account identifier value.
      - `settlement_party` object: A participant in the settlement chain, identified by an identification and an optional account.
        - `identification` object, required: Identification of a settlement counterparty. * `BIC` Party identified by BIC. * `PROPRIETARY` Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` Party identified by name and address.
          - `type` 'BIC' | 'PROPRIETARY' | 'NAME_AND_ADDRESS', required: Type of identification. * `BIC` - Party identified by BIC. * `PROPRIETARY` - Party identified by a proprietary code under a Data Source Scheme. * `NAME_AND_ADDRESS` - Party identified by name and address.
          - `value` string, required: Identification value. The format depends on the `type`: * For `BIC`: A valid BIC code. * For `PROPRIETARY`: A proprietary identifier under the given `scheme`. * For `NAME_AND_ADDRESS`: Name and address of the party.
          - `scheme` string: ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).
        - `account` object: Account of a settlement counterparty. * `SAFE` - Safekeeping account.
          - `type` 'SAFE', required: Type of the account. * `SAFE` - Safekeeping account.
          - `value` string, required: Account identifier value.
    - `trade_date` string, date, required: The forecast date when the trade takes place. Date in YYYY-MM-DD format.
    - `settlement_date` string, date, required: The forecast date when the settlement takes place. Date in YYYY-MM-DD format.
    - `actual_settlement_date` string, date: The date when the transfer settled, only known in `SETTLED` status. Date in YYYY-MM-DD format.
    - `order_date` string, 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.

## Other responses

- `400`: Bad Request. The incoming request had a malformed parameter/object.
- `401`: Unauthorized. The caller has not been authenticated.
- `403`: Forbidden. The caller has been authenticated but is not allowed to take the requested action.
- `406`: Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.
- `429`: Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.
- `500`: Internal Server Error. The service encountered an unexpected error.
- `503`: Service Unavailable. The service handling for this request cannot be reached at this time.
- `504`: Gateway Timeout. The service gateway has reached its internal timeout.

## Changes

- **2026-10-22** `2495225a281a`: 2 breaking, 2 info
  - the response property `data/items/user_id` became optional for the status `200`
  - the `data/items/user_id` response's property type changed from `string` to no type, and format from `uuid` to no format for status `200`
  - added the optional property `data/items/business_id` to the response with the `200` status
  - added `subschema #1: User unique identifier.` to the `data/items/user_id` response property `allOf` list for the response status `200`

[Operation history](https://skmtc.dev/upvest/apis/upvest-investment-api/changes/securities_transfers/get.md)

---

[API](https://skmtc.dev/upvest/apis/upvest-investment-api.md) · [All operations](https://skmtc.dev/upvest/apis/upvest-investment-api/llms.txt) · [OpenAPI document](https://skmtc.dev/upvest/apis/upvest-investment-api/revisions/ca69534b631d?raw)
