Depending on applicable regulations or business limitations, specific API requests may not be available for your use.
Folio REST API
The Folio REST API enables investment and related firms that have contracted with Folio to create unique applications using our powerful brokerage functionality.
We offer numerous API calls to enable investment and related firms to access nearly all of the functions that can be performed directly on the Folio Client and Folio Institutional websites. We continue to add improved documentation in support of each function, as well as new API calls and end points based on both user feedback and ongoing system enhancements.
Note that Folio’s API is not intended for use by individual investors wishing to create their own trading solutions; rather, it is a powerful development tool for advanced technical users familiar with REST and JSON technologies. We do not provide HTML or other code samples for using the API.
We follow common REST API design principles as follows:
- Each call is stateless. Requests do not carry state information with them.
- Standard HTTP verbs are used: GET is used to retrieve an object, POST is used to create a new object and PUT is used to update an existing object.
- HTTP response codes are used to inform the client of the status of requests. For example, if the client tries to GET an object that does not exist, the response will have a status code of 403. If the client successfully creates an object, the status code will be 201.
- Objects are transmitted in the HTTP bodies using JSON notation.
To access the Folio REST API endpoints in our test environment, you will need a test API key provided by a Folio representative after you have contacted us. Please note that most test users will be provided with the same generic API credential and that any data you place into the API test environment with this credential will be visible to other users in the API test environment that have used that same credential. Therefore, do not send us any real customer data when you are using our API test environment.
To access the Folio REST API endpoints in our production environment you will need to complete the following steps, for which additional information will be provided by the appropriate Folio representative when applicable:
- Provide us with a detailed description of your business, planned use of our services and a detailed configuration request specifying which API calls you would like to use, using the API Configuration Form provided by an authorized Folio representative.
- Contract with Folio Institutional for our services, through a Folio sales consultant using the applicable Folio Agreement (e.g., a Clearing Agreement for a broker dealer, a Folio Institutional Agreement for a Registered Investment Advisor, or a Private Security Custody and Services Agreement for an unlisted security issuer) which you can obtain from an authorized Folio representative. Note that we will perform background checks and other due diligence reviews on you and your firm as part of this process.
- Complete our cyber security questionnaire, provided by an authorized Folio representative, and pass our cyber security review.
- Execute our API services agreement, provided by an authorized Folio representative.
- Pass a detailed review by us of the portions of your site and / or application which will use the Folio name and/or functions, including a compliance review.
- Provide us with the following information:
- The static IP address (or range) of your production server(s), which we will add to a white list of allowed servers at the end of this process.
- The SFTP hostname, user id, password and target directory to provide you with your API access credentials (a public API key and a private shared secret), or details of another secure method of credential transmission that you would like to use.
Technical Environment Information
We refresh our API test environments with a clean set of test data weekly, usually Sunday night or Monday morning. Any changes you make to the test environment are not saved and will be lost during this weekly refresh. The weekly refresh is an automated process that cannot be accelerated, delayed, or suspended.
The test environment is updated periodically during the week, sometimes several times per day as required for development and other system updates. The test environment will be unavailable during these updates, which are unscheduled and typically last for approximately 30 minutes.
Test Window orders may be processed in the test environment at any time when a Folio staff member “runs the window” but this is sporadic and not generally performed upon request. Test Direct orders (market, limit, stop, and stop-limit) will be immediately sent to “market” in the test environment when the market is open, or queued for when the market opens, similar to the behavior in the production environment. Learn more about production window trade times.
For information about our services and contact information for Folio Representatives, visit the Folio Institutional site at www.folioinstitutional.com and select the service area in which you are interested.
For technical questions about this API contact us at firstname.lastname@example.org.