API status

Account Transfers

All Accounts Transfers related paths.

post

Create account transfer

Create account transfer

directionstring

required

Direction of the securities transfer

  • INCOMING - Securities transfer is incoming to the user.
  • OUTGOING - Securities transfer is outgoing from the user.
Enum
  • INCOMING
  • OUTGOING
user_idstring

required

User unique identifier.

Format
uuid
account_idstring

required

Account unique identifier.

Format
uuid
transfer_typestring

required

Type of the securities transfer

  • NO_OWNER_CHANGE - No change of ownership.
Enum
  • NO_OWNER_CHANGE
settlement_referencestring

required

Unique identifier of the account transfer set by API consumers. Useful for API consumers to build special logic on top of it. NOTE: This reference will be set and be common to all securities transfers

Pattern
^[0-9A-Za-z+?/\-:()\.,' ]*$
instrumentsarray

required

For INCOMING at least one instrument should be defined. For OUTGOING an empty list means full transfer of full units of the account.

idstring

required

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

id_typestring

required

Type of the instrument_id

  • ISIN - International Securities Identification Number
Enum
  • ISIN
quantitystring

required

The quantity of instrument to move in or out. The value supported is maximum 15 digits including decimal place. Note: For INCOMING the end user ensures that they don't sell their instruments on the counter-broker to enable smooth transfer of their instruments on Upvest platform.

Pattern
^[0-9]{0,63}(\.[0-9]{1,27})?$
counterpartyobject

required

bicstring

required

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

Pattern
^[A-Z]{6}[A-Z0-9]{2}([A-Z0-9]{3})?$
account_numberstring

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.

Pattern
^[0-9A-Za-z+?/\-:()\.,' ]{0,28}$
namestring

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.

Pattern
^[0-9A-Za-z+?/\-:()\.,' ]{0,140}$
trade_datestring

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. NOTE: Each individual transfer can differ based on market needs.

Format
date
settlement_datestring

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. *NOTE: Each individual transfer can differ based on market needs.

Format
date

Responses

Request examples

{
  "direction": "INCOMING",
  "user_id": "7e9a0529-d289-4f4a-ae01-c2cd013d582e",
  "account_id": "d396b7c3-aa67-488a-8e39-4a1a7cbeb9f4",
  "transfer_type": "NO_OWNER_CHANGE",
  "settlement_reference": "b82dc5985558fdr2",
  "instruments": [
    {
      "id": "US0378331005",
      "id_type": "ISIN",
      "quantity": "10"
    },
    {
      "id": "US64110L1061",
      "id_type": "ISIN",
      "quantity": "5"
    }
  ],
  "counterparty": {
    "bic": "ABCDDEFFXXX",
    "account_number": "1234567891",
    "name": "Max Mustermann"
  }
}

Response examples

Account Transfer created

{
  "id": "63da4452-2dd3-4414-a7ca-66c0e3e89645",
  "created_at": "2025-01-22T14:10:00.00Z",
  "updated_at": "2025-01-22T14:12:34.56Z",
  "direction": "INCOMING",
  "status": "NEW",
  "transfer_type": "NO_OWNER_CHANGE",
  "instruments": [
    {
      "id": "US0378331005",
      "id_type": "ISIN",
      "quantity": "10",
      "status": "NEW",
      "transfer_id": "9637e68f-7065-4131-a072-6d57044ebd8c"
    },
    {
      "id": "US64110L1061",
      "id_type": "ISIN",
      "quantity": "5",
      "status": "NEW",
      "transfer_id": "c2f84524-3f05-4849-909c-2998803327d3"
    }
  ],
  "user_id": "7e9a0529-d289-4f4a-ae01-c2cd013d582e",
  "account_id": "d396b7c3-aa67-488a-8e39-4a1a7cbeb9f4",
  "settlement_reference": "b82dc5985558fdr2",
  "counterparty": {
    "bic": "ABCDDEFFXXX",
    "account_number": "1234567891",
    "name": "Max Mustermann"
  }
}
get

Retrieve account transfer

Retrieve account transfer

account_transfer_idstring

required

Account transfer request unique identifier.

Format
uuid

Responses

Response examples

Account Transfer object

{
  "id": "63da4452-2dd3-4414-a7ca-66c0e3e89645",
  "created_at": "2025-01-22T14:10:00.00Z",
  "updated_at": "2025-01-22T14:12:34.56Z",
  "direction": "INCOMING",
  "status": "NEW",
  "transfer_type": "NO_OWNER_CHANGE",
  "instruments": [
    {
      "id": "US0378331005",
      "id_type": "ISIN",
      "quantity": "10",
      "status": "NEW",
      "transfer_id": "9637e68f-7065-4131-a072-6d57044ebd8c"
    },
    {
      "id": "US64110L1061",
      "id_type": "ISIN",
      "quantity": "5",
      "status": "NEW",
      "transfer_id": "c2f84524-3f05-4849-909c-2998803327d3"
    }
  ],
  "user_id": "7e9a0529-d289-4f4a-ae01-c2cd013d582e",
  "account_id": "d396b7c3-aa67-488a-8e39-4a1a7cbeb9f4",
  "settlement_reference": "b82dc5985558fdr2",
  "counterparty": {
    "bic": "ABCDDEFFXXX",
    "account_number": "1234567891",
    "name": "Max Mustermann"
  }
}
webhook

Account Transfer events

idstring

required

Event unique identifier

Format
uuid
created_atstring

required

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

Format
date-time
typestring

required

Event type

Enum
  • ACCOUNT_TRANSFER.NEW
  • ACCOUNT_TRANSFER.PROCESSING
  • ACCOUNT_TRANSFER.SETTLED
  • ACCOUNT_TRANSFER.PARTIALLY_SETTLED
  • ACCOUNT_TRANSFER.CANCELLED
objectobject

required

idstring

required

Account transfer request unique identifier.

Format
uuid
created_atstring

required

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

Format
date-time
updated_atstring

required

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

Format
date-time
directionstring

required

Direction of the account transfer

  • INCOMING - account transfer is incoming to the user.
  • OUTGOING - account transfer is outgoing from the user.
Enum
  • INCOMING
  • OUTGOING
statusstring

required

Status of the account transfer

  • NEW - account transfer is created but not started processing.
  • PROCESSING - account transfer is in processing.
  • SETTLED - account transfer was successfully settled.
  • PARTIALLY_SETTLED - account transfer was partially settled, while some instrument got cancelled.
  • CANCELLED - account transfer was cancelled.
Enum
  • NEW
  • PROCESSING
  • SETTLED
  • PARTIALLY_SETTLED
  • CANCELLED
transfer_typestring

required

Type of the account transfer

  • NO_OWNER_CHANGE - No change of ownership.
Enum
  • NO_OWNER_CHANGE
instrumentsarray [Instruments]

required

List of instruments positions.

user_idstring

required

User unique identifier.

Format
uuid
account_idstring

required

Account unique identifier.

Format
uuid
settlement_referencestring

required

Unique identifier of the account transfer set by API consumers. Useful for API consumers to build special logic on top of it. NOTE: This reference will be set and be common to all securities transfers.

Pattern
^[0-9A-Za-z+?/\-:()\.,' ]*$
counterpartyobject

required

trade_datestring

The forecast date when the trade takes place. Date in YYYY-MM-DD format. NOTE: This date mirrors the preliminary date if given in request as input, each single transfer can have their own date according to market needs.

Format
date
settlement_datestring

The forecast date when the settlement takes place. Date in YYYY-MM-DD format. NOTE: This date mirrors the preliminary date if given in request as input, each single transfer can have their own date according to market needs.

Format
date
webhook_idstring

required

Webhook unique identifier.

Format
uuid

Responses

Request examples

{
  "id": "b5d0d9d0-bb8e-48b4-b2af-11df2b522353",
  "created_at": "2024-01-22T14:10:00.00Z",
  "type": "ACCOUNT_TRANSFER.NEW",
  "object": {
    "id": "63da4452-2dd3-4414-a7ca-66c0e3e89645",
    "created_at": "2025-01-22T14:10:00.00Z",
    "updated_at": "2025-01-22T14:12:34.56Z",
    "direction": "INCOMING",
    "status": "NEW",
    "transfer_type": "NO_OWNER_CHANGE",
    "instruments": [
      {
        "id": "US0378331005",
        "id_type": "ISIN",
        "quantity": "10",
        "status": "NEW",
        "transfer_id": "9637e68f-7065-4131-a072-6d57044ebd8c"
      },
      {
        "id": "US64110L1061",
        "id_type": "ISIN",
        "quantity": "5",
        "status": "NEW",
        "transfer_id": "c2f84524-3f05-4849-909c-2998803327d3"
      }
    ],
    "user_id": "7e9a0529-d289-4f4a-ae01-c2cd013d582e",
    "account_id": "d396b7c3-aa67-488a-8e39-4a1a7cbeb9f4",
    "settlement_reference": "b82dc5985558fdr2",
    "counterparty": {
      "bic": "ABCDDEFFXXX",
      "account_number": "1234567891",
      "name": "Max Mustermann"
    }
  },
  "webhook_id": "cab4673a-1381-4404-aec4-982dae33a38c"
}

Response examples

Request has been processed successfully.

Empty response