REST API Summary
Version 5.2.0
In version 5.2.0 of OneStream REST API, all the API calls are synchronous. The responses do not come back until all the data has been processed on the OneStream server. It is not recommended to use this version for large datasets because timeouts may occur before the response comes through. For large datasets, it is recommended to use the asynchronous API endpoints introduced in version 7.2.0.
Authentication
Typically, this API is used only to verify that the REST API is configured correctly and the token used to authenticate is valid. In this version, after the configuration and token have been validated for authentication, it is not necessary to call this API for other APIs to function as long as a proper authentication token is provided on those API calls.
DataManagement
This API is used to run sequences and steps on the OneStream servers. This can be used to run consolidations, business rules, or any other types of sequences and steps configured in OneStream. The API calls in this version do not respond with a success or failure status until after the task has completed in OneStream, which can take a long time in some cases.
DataProvider
This API is used to return data from within OneStream to a third-party application or script. It can be used to return data from a OneStream-configured data adapter, Cube View, SQL query, or method command. If the API call is successful, the data is returned in JSON format within the response body. If the dataset is large, it may take a long time for the response to come back.
Version 7.2.0
In version 7.2.0 of OneStream REST API, the API calls are both synchronous and asynchronous. The asynchronous calls are recommended for large datasets or when an immediate response is needed.
Authentication
This API contains only the Logon API call, which is necessary to return the SessionInfo (SI) object for use within any other API calls in this version.
Application
This API contains only the OpenApplication API call and returns a SessionInfo object for a specific application. This is necessary when making any other API call that requires an open application, which is almost always the case. It requires the SessionInfo token from the Logon API call as a parameter within the body of the request.
DataManagement
This API is used to run sequences and steps on the OneStream servers. This can be used to run consolidations, business rules, or any other types of sequences and steps configured in OneStream.
In this version of the DataManagement API, the ExecuteSequence and ExecuteStep API calls have been consolidated into a single endpoint where a parameter specifies whether it is calling a sequence or a step. It also contains an asynchronous endpoint where the response is issued immediately instead of waiting for the sequence or step to complete. This can be helpful if the step or sequence typically takes a long time to run. There is also an API call to check the status of the step or sequence that was initiated. This can be used in a client-side polling and sleep loop to wait for the task to be completed. All calls within this API run against a specific application and therefore require a SessionInfo object from OpenApplication.
DataProvider
The API calls in this section are used to return data from within OneStream to a third-party application or script. In this version, it can only be used to return data from a OneStream-configured data adapter. However, the data adapter itself can receive data from a variety of different types of sources. There is also both a synchronous and asynchronous version of the API call. Developers can decide whether they want the call to block and wait until the data is processed and delivered or they want to use client-side polling and sleep loop to wait for the data to be available, which requires that XFCallState is enabled in the configuration. The latter option may be preferable when expecting large sets of data or when there are a lot of calculations involved, which may slow down delivery to a point where a timeout may occur.