Depending on applicable regulations or business limitations, specific API requests may not be available for your use.
Security Transfer within an account
This request transfers securities from one folio to another folio, within the same account.
Request URL
Syntax | PUT /restapi/accounts/{accountnumber}/folios/{folionumber}/securitytransfer |
---|---|
Example URL | https://api.uat.foliofn.com/restapi/accounts/RA1234567C05/folios/RA1234567C03/securitytransfer |
Request Data Fields – Rest Security Transfer
Field | Required? | Description | Required | Value |
---|---|---|---|---|
loginId | String |
A unique ID for the member which has been generated when the member is initially created. |
Yes | |
fromFolio | String |
Securities should be transferred from the folio. |
No. If null, uses the folio specified on the URL. | |
toFolio | String |
Folio securities should be transferred into. |
Yes | Should be different than fromFolio. |
moveAll | Boolean |
Indicates if all securities should be transferred. If “true” all securities defined in securitiesInfo will be flagged as moveAll. |
No | Choice between:
|
securitiesInfo | SecuritiesInfo[] |
The list of securities that should be transferred. |
Yes | See Rest Security Info |
Request Data Fields – Rest Security Info
Field | Type | Description | Required | Value |
---|---|---|---|---|
ticker | String | The security identifier code. | Yes | |
shares | Double | The number of shares to transfer. | Only if moveAll is equal to false or not provided. | |
moveAll | Boolean | Indicates if all shares should be transferred. | No | Choice between:
|
Request Examples
Request Example for Transferring Some Securities
PUT http://api.uat.foliofn.com/restapi/accounts/RD8092700L/folios/RD8092700L03/securitytransfer HTTP/1.1
Content-Type: application/json
{
"loginId" : "muserid90170",
"fromFolio" : "RD8092700L03",
"toFolio" : "RD8092700L04",
"securitiesInfo" : [
{ "ticker" : "HELE", "shares" : "0.15" }
{ "ticker" : "GE", "shares" : "0.5" }
{ "ticker" : "ACE", "moveAll" : true }
]
}
Request Example for Transferring All Securities
PUT http://api.uat.foliofn.com/restapi/accounts/RD8092700L/folios/RD8092700L03/securitytransfer HTTP/1.1
Content-Type: application/json
{
"loginId" : "muserid90170",
"fromFolio" : "RD8092700L03",
"toFolio" : "RD8092700L04",
"moveAll" : true,
"securitiesInfo" : [
{ "ticker" : "HELE"}
{ "ticker" : "GE"}
{ "ticker" : "ACE"}
]
}
Response Example
HTTP/1.1 200 OK
Date: XXX
Location: restapi/accounts/RD8092700L/folios/RD8092700L03/securitytransfer
Content-Length: 0
Notes
The folionumber used in the request URL should be the folionumber that securities are being transferred from.
Error Codes
HTTP Code Status | Field | Code | Message | Description |
---|---|---|---|---|
403 | - | - | - | Specified user is not allowed to use the request. |
400 | loginId | cannot.be.null | - | The loginId on the body request is null. |
400 | loginId | loginId.not.found | - | The loginId on the body request is unknown. |
400 | loginId | partnerCode.cannot.be.null | - | The partner code associated to the loginId is null. |
400 | loginId | invalid.value | - | The loginId on the body request is not the account owner. |
400 | fromFolio | invalid.value | - | The fromFolio value is different from the one specified on the URL request. |
400 | fromFolio | cannot.be.equals.to.forbidden.folio | - | The fromFolio is a forbidden folio (end with “00” or “01”). |
400 | toFolio | cannot.be.null | - | The toFolio on the body request is null. |
400 | toFolio | cannot.be.empty | - | The toFolio on the body request is empty. |
400 | toFolio | toFolio.cannot.be.closed | - | The toFolio on the body request is a closed folio. |
400 | toFolio | cannot.be.equals.to.fromFolio | - | The toFolio on the body request is equals to fromFolio. |
400 | securitiesInfo | cannot.be.null | - | The securitiesInfo on the body request is null. |
400 | securitiesInfo | {i}.invalid.value | - | The securitiesInfo[i] has moveAll equals to true and shares greater than 0. |
400 | securitiesInfo | {i}.ticker.cannot.be.null | - | The ticker on securitiesInfo[i] is null. |
400 | securitiesInfo | {i}.ticker.not.found | - | The ticker on securitiesInfo[i] is unknown. |
400 | securitiesInfo | {i}.security.not.found.in.fromFolio | - | The security on securitiesInfo[i] is not available in the fromFolio holdings list. |
400 | securitiesInfo | {i}.shares.cannot.be.null | - | The shares on securitiesInfo[i] is null/0.0 (and moveAll equals to false). |
400 | folios.securityTransfer | SystemException | Unable to find folio. | Unable to find the specified folio. |
400 | folios.securityTransfer | 160 | Unknown cost basis folio. | |
400 | folios.securityTransfer | 4008 | The number of shares that you request to move must be whole number. | The number of shares to move must be a whole number, greater than 0.0000000. |
400 | folios.securityTransfer | 4009 | You are trying to transfer more shares of a stock(s) than this folio holds. | Not enough shares for move. |
400 | folios.securityTransfer | 4066 | Internal transfer overflow. | The number of shares to move will result toFolio to exceed the configured maximum holding count. |
400 | folios.securityTransfer | 4089 | No shares specified to move. | - |
400 | folios.securityTransfer | 4181 | Disallowed tickers for transfer to folio. | - |
400 | folios.securityTransfer | 4210 | Only allow to move all securities. | - |
503 | - | - | GPS service not available. | The specified service is not available. |
Change Log
05/11/2018
- Added new error codes:
- 400 - toFolio – toFolio.cannot.be.closed
- 400 - securitiesInfo – {i}.security.not.found.in.fromFolio
10/27/2017
- Added Notes Section
- Added Additional Request Examples
10/20/2015
- New error codes:
- 400 - fromFolio – cannot.be.equals.to.forbidden.folio
- 400 - toFolio – cannot.belong.to.different.account
- 400 - toFolio – cannot.be.equals.to.forbidden.folio
- 400 - securitiesInfo – {i}.share.cannot.be.fractional.for.02.folio
- 503 – Security Transfer service is not available today (invalid settlement date)
10/08/2015
- New documentation.