API's
When developing custom frontends or applications, leveraging existing cluster APIs can significantly streamline the development process. These APIs provide access to fundamental cluster logic that is utilized within the RUAL Studio and frontends, making it easier to integrate and work with essential functionalities.
Authentication
Authentication is required for most of our APIs. You'll need to use the access_token
provided after successful authentication to access these APIs. It's important to note that you cannot obtain the access_token
directly within blueprints. Users must log in through the appropriate APIs within your application to obtain a token.
Token Expiry
In order to streamline the user experience, we have automated the token expiry process. By default, tokens are valid for 14 days and are automatically extended when actively used. When you make API requests, access pages, or interact with modals created in blueprints, we will automatically update the user's last activity, last token activity, and token expiry. To extend the token's validity, multiple requests need to be made using the token.
Public API Rate Limiting
Some of our APIs are public and come with default rate-limiting restrictions. These APIs have a default rate limit of 100
requests per second. It's not possible to modify the rate-limiting behavior for these APIs on a cluster level. However, if you encounter rate-limiting issues and cannot address them through conventional means, you have the option to build your own custom APIs within blueprinting to circumvent these limitations.
API Content-Type
When making requests to system or cluster APIs, it is crucial to include a Content-Type
in your request headers. For most APIs, the Content-Type
should be application/json
. However, for File API endpoints, you should use multipart/form-data
and specify Accept: application/json
.
Adding Tokens to your requests
Once you have obtained an access_token
through the appropriate APIs, you need to include this token in your request. You can achieve this in several ways, as outlined below:
- In the header, you can pass the token as
Authorization
using theBearer
scheme. - In the header, you can pass the token as
x-authtoken
. - In the header, you can pass the token as
x-token
. - In the header, you can pass the token as a
cookie
with the nameaccess_token
. - In the URL, you can pass the token as
?access_token=
in the query string.