# Create securities transfer Create securities transfer Endpoint: POST /securities_transfers Version: 1.78.0 Security: oauth-client-credentials ## Header parameters: - `upvest-client-id` (string, required) Tenant Client ID Example: "ebabcf4d-61c3-4942-875c-e265a7c2d062" - `authorization` (string, required) Bearer (access) token from the OAuth flow with correct scopes. https://datatracker.ietf.org/doc/html/rfc6750 Example: "Bearer c2VjcmV0Cg==" - `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 - `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 Example: "ccb07f42-4104-44ad-8e1f-c660bb7b269c" - `upvest-api-version` (string) Upvest API version (Note: Do not include quotation marks) Enum: "1" ## 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" - `user_id` (string, required) User unique identifier. - `account_id` (string, required) Account unique identifier. - `instrument_id` (string, required) ISIN or other identity (depends on instrument_id_type) of the security to be transferred. - `instrument_id_type` (string, required) Type of the instrument_id * ISIN - International Securities Identification Number Enum: "ISIN" - `quantity` (string, 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. - `transfer_type` (string, required) Type of the securities transfer * NO_OWNER_CHANGE - No change of ownership. Enum: "NO_OWNER_CHANGE" - `settlement_reference` (string, required) Unique identifier of the securities transfer set by API consumers. Useful for API consumers to build special logic on top of it. NOTE: For automatic incoming transfers where API users will subscribe to the corresponding webhook, the value is set by Upvest! - `counterparty` (object, required) - `counterparty.bic` (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. - `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). - `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. ## Response 200 fields (application/json): - `id` (string, required) Securities transfer request unique identifier. - `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) - `user_id` (string, required) User unique identifier. - `account_id` (string, required) Account unique identifier. - `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) Type of the instrument_id * ISIN - International Securities Identification Number Enum: "ISIN" - `quantity` (string, required) The quantity of instrument to move in or out. - `counterparty` (object, required) - `counterparty.bic` (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_reference` (string, required) Unique identifier of the securities transfer set by API consumers. Useful for API consumers to build special logic on top of it. NOTE: For automatic incoming transfers where API users will subscribe to the corresponding webhook, the value is set by Upvest! - `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. - `quantity_settled` (string) The quantity of instruments settled. - `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). - `actual_settlement_date` (string) The date when the transfer settled, only known in SETTLED status. Date in YYYY-MM-DD format. ## 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 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 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 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 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 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 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 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 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.