# Create securities transfer

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](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.

Endpoint: POST /securities_transfers
Version: 1.159.0
Security: oauth-client-credentials

## Security:

  - `oauth-client-credentials` (unknown)
    oauth2 scopes: securities_transfers:admin

## Header parameters:

  - `idempotency-key` (string, required)
    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

  - `upvest-client-id` (string, required)
    Your client ID, issued by Upvest. Identifies the client making the request. Universally Unique Identifier (UUID).

  - `Authorization` (string, required)
    Bearer (access) token from the OAuth flow with correct scopes.
https://datatracker.ietf.org/doc/html/rfc6750

  - `signature` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-http-header

  - `signature-input` (string, required)
    https://tools.ietf.org/id/draft-ietf-httpbis-message-signatures-01.html#name-the-signature-input-http-he

  - `upvest-api-version` (string)
    Upvest API version (Note: Do not include quotation marks)

## Request fields (application/json):

  - `direction` (string, 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"

  - `instrument_id` (string, required)
    `ISIN` or other identity (depends on instrument_id_type) of the security to be transferred.

  - `instrument_id_type` (string, required)
    The kind of identifier given in `instrument_id`.
* ISIN — International Securities Identification Number.
    Enum: "ISIN"

  - `quantity` (string, 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` (string, required)
    Type of the securities transfer
* NO_OWNER_CHANGE - No change of ownership.
    Enum: "NO_OWNER_CHANGE"

  - `user_id` (string)
    The ID of the user. Either user ID or business ID must be specified.

  - `business_id` (string)
    The ID of the business. Either user ID or business ID must be specified.

  - `account_id` (string, 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)
    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.

  - `counterparty` (any, required)
    Counterparty for securities transfer. The `type` field determines which counterparty variant is present in the payload.

  - `counterparty.type` (string, required)
    Type of the counterparty.

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

  - `counterparty.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.

  - `counterparty.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_counterparties.settlement_agent` (object, required)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_agent.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.

  - `settlement_counterparties.settlement_agent.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_agent.identification.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.

  - `settlement_counterparties.settlement_agent.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_agent.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_agent.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_agent.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_custodian` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_custodian.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.

  - `settlement_counterparties.settlement_custodian.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_custodian.identification.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.

  - `settlement_counterparties.settlement_custodian.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_custodian.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_custodian.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_custodian.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_intermediary_1` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_intermediary_1.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.

  - `settlement_counterparties.settlement_intermediary_1.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_intermediary_1.identification.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.

  - `settlement_counterparties.settlement_intermediary_1.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_intermediary_1.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_intermediary_1.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_intermediary_1.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_intermediary_2` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_intermediary_2.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.

  - `settlement_counterparties.settlement_intermediary_2.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_intermediary_2.identification.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.

  - `settlement_counterparties.settlement_intermediary_2.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_intermediary_2.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_intermediary_2.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_intermediary_2.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_party` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_party.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.

  - `settlement_counterparties.settlement_party.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_party.identification.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.

  - `settlement_counterparties.settlement_party.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_party.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_party.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_party.account.value` (string, required)
    Account identifier value.

  - `trade_date` (string)
    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_date` (string)
    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_date` (string)
    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.

## Request examples:

  - `INCOMING` (unknown)

  - `INCOMING (BYOL Omnibus)` (unknown)

  - `OUTGOING` (unknown)

  - `OUTGOING (BYOL Omnibus)` (unknown)

## Response 200:

  - `200` (unknown)
    Securities Transfer created

## Response 200 fields (application/json):

  - `id` (string, required)
    The unique identifier of the securities transfer, as a UUID.

  - `created_at` (string, 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, 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` (string, 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"

  - `status` (string, 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.
    Enum: "NEW", "PROCESSING", "SETTLED", "CANCELLED"

  - `transfer_type` (string, required)
    Type of the securities transfer
* `NO_OWNER_CHANGE` - No change of ownership.
    Enum: "NO_OWNER_CHANGE"

  - `instrument_id` (string, required)
    `ISIN` or other identity (depends on instrument_id_type) of the security to be transferred.

  - `instrument_id_type` (string, required)
    The kind of identifier given in `instrument_id`.
* ISIN — International Securities Identification Number.
    Enum: "ISIN"

  - `quantity` (string, required)
    The quantity of instrument to move in or out.

  - `quantity_settled` (string)
    The quantity of instruments settled.

  - `user_id` (string)
    The ID of the user. Either user_id or business_id is returned.

  - `business_id` (string)
    The ID of the business. Either user_id or business_id is returned.

  - `account_id` (string, 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` (any, required)
    Counterparty for securities transfer. The `type` field determines which counterparty variant is present in the payload.

  - `counterparty.type` (string, required)
    Type of the counterparty.

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

  - `counterparty.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.

  - `counterparty.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_counterparties.settlement_agent` (object, required)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_agent.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.

  - `settlement_counterparties.settlement_agent.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_agent.identification.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.

  - `settlement_counterparties.settlement_agent.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_agent.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_agent.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_agent.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_custodian` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_custodian.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.

  - `settlement_counterparties.settlement_custodian.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_custodian.identification.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.

  - `settlement_counterparties.settlement_custodian.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_custodian.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_custodian.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_custodian.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_intermediary_1` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_intermediary_1.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.

  - `settlement_counterparties.settlement_intermediary_1.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_intermediary_1.identification.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.

  - `settlement_counterparties.settlement_intermediary_1.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_intermediary_1.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_intermediary_1.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_intermediary_1.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_intermediary_2` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_intermediary_2.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.

  - `settlement_counterparties.settlement_intermediary_2.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_intermediary_2.identification.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.

  - `settlement_counterparties.settlement_intermediary_2.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_intermediary_2.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_intermediary_2.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_intermediary_2.account.value` (string, required)
    Account identifier value.

  - `settlement_counterparties.settlement_party` (object)
    A participant in the settlement chain, identified by an identification and an optional account.

  - `settlement_counterparties.settlement_party.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.

  - `settlement_counterparties.settlement_party.identification.type` (string, 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.
    Enum: "BIC", "PROPRIETARY", "NAME_AND_ADDRESS"

  - `settlement_counterparties.settlement_party.identification.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.

  - `settlement_counterparties.settlement_party.identification.scheme` (string)
    ISO Data Source Scheme code. **Required** when `type` is `PROPRIETARY`. Identifies the source of the proprietary identification (e.g. `CRST`, `DAKV`, `CEDE`).

  - `settlement_counterparties.settlement_party.account` (object)
    Account of a settlement counterparty.
* `SAFE` - Safekeeping account.

  - `settlement_counterparties.settlement_party.account.type` (string, required)
    Type of the account.
* `SAFE` - Safekeeping account.
    Enum: "SAFE"

  - `settlement_counterparties.settlement_party.account.value` (string, required)
    Account identifier value.

  - `trade_date` (string, required)
    The forecast date when the trade takes place. Date in YYYY-MM-DD format.

  - `settlement_date` (string, required)
    The forecast date when the settlement takes place. Date in YYYY-MM-DD format.

  - `actual_settlement_date` (string)
    The date when the transfer settled, only known in `SETTLED` status. Date in YYYY-MM-DD format.

  - `order_date` (string)
    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` (string)
    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.
    Enum: "COUNTERPARTY_NOT_INSTRUCTING", "COUNTERPARTY_NOT_RESPONDING", "COUNTERPARTY_DOES_NOT_AGREE_TO_DELIVERY_DETAILS", "COUNTERPARTY_NOT_ACCEPTING"

## Response 200 headers (application/json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 400:

  - `400` (unknown)
    Bad Request. The incoming request had a malformed parameter/object.

## Response 400 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 400 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 401:

  - `401` (unknown)
    Unauthorized. The caller has not been authenticated.

## Response 401 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 401 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 403:

  - `403` (unknown)
    Forbidden. The caller has been authenticated but is not allowed to take the requested action.

## Response 403 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 403 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 404:

  - `404` (unknown)
    Not Found. The requested resource could not be found.

## Response 404 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 404 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 406:

  - `406` (unknown)
    Not Acceptable. The resource does not have a current representation that would be acceptable to the user agent. "Accept" header defined unsupported value.

## Response 406 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 406 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 429:

  - `429` (unknown)
    Too Many Requests. The caller has exceeded their quota for the time period and has been throttled.

## Response 429 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 429 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 500:

  - `500` (unknown)
    Internal Server Error. The service encountered an unexpected error.

## Response 500 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 500 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 503:

  - `503` (unknown)
    Service Unavailable. The service handling for this request cannot be reached at this time.

## Response 503 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 503 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 504:

  - `504` (unknown)
    Gateway Timeout. The service gateway has reached its internal timeout.

## Response 504 fields (application/problem+json):

  - `type` (string, required)
    URL to a document describing the error condition.

  - `status` (integer, required)
    Transmission of the HTTP status code so that all information can be found in one place, but also to correct changes in the status code due to the use of proxy servers.

  - `title` (string)
    A short, human-readable title for the general error type; the title should not change for given types.

  - `detail` (string)
    A human-readable description of the specific error.

  - `instance` (string)
    This optional key may be present, with a unique URI for the specific error; this will often point to an error log for that specific response.

  - `request_id` (string)
    Correlation ID for the original request.

## Response 504 headers (application/problem+json):

  - `upvest-request-id` (string, required)
    Example: 169ae4c7-ebd7-4041-94da-25369653eba7

## Response 200 examples:

  - `INCOMING` (unknown)

  - `OUTGOING` (unknown)

