Usage Info
- 1 Postman collection
- 2 Access
- 3 Authentication
- 3.1 OAuth
- 3.1.1 Postman screen
- 3.1 OAuth
- 4 Usage
- 5 Error reporting
- 6 Rate Limit
Postman collection
This postman collection can be imported. On the collection level, the given settings can be modified.
Access
In order to use the API portal you must get a personal account from CloudSuite. We will give you a username and password. For the portal an IP accesslist is also needed.
Authentication
OAuth
This method is the authentication after 1 february 2024
To use the API you must use the created token by the OAuth service. A username and password will be given to fetch the token from the provided URL.
Field | Value |
|---|---|
Grant type | Client Credentials |
Access Token URL | https://id.cloudsuite.io/realms/CloudSuite/protocol/openid-connect/token |
Access Token URL TEST | https://id.cloudsuite.io/realms/CloudSuite-test/protocol/openid-connect/token |
Client ID | Supplied username |
Client Secret | Supplied password |
Scope | openid |
Client Authentication | Send client credentials in body |
Refesh token | same as access token url |
The received token must be used in the header of each request to the API:
Key: Authorization
Value: Bearer 186262d49fd0855555a88bf9871e0cb592f456748The token will expire. After the expiration the token must be renewed.
The base URL will be https://api.cloudsuite.io/ (LIVE) and https://test-api.cloudsuite.io/ (TEST)
Postman screen
Usage
When getting and updating inactive object with the API an extra parameter must be added:
?inactive=true This will return the active AND inactive objects.
GET
Each call on the API can be done with a GET. This will return the requested object in json or a list of objects in json.
POST
Each object can be posted to the webservice. However, if the object already exists, an error will be given. This can only be used to do a one-time add to the database
PUT
Each object can be PUT into the database. An ID of the object is always required to use this. If a PUT is done, the entire object is replaced with the new data. The data of the entire object is required when doing a PUT.
If an object does not exist it will be added to the database.
PATCH
Most objects can be patched. This method allows a user to update a small item of the object. Only the changed data has to be given.
object must exist
DELETE
Some objects can also be deleted from the database.
Error reporting
When an error occurs during a call it will look the same as an outgoing API body, except for two differences:
The error handling lies on the side of the integration, CloudSuite will not monitor, handle or report errors in another way then directly when giving the response.
Non_field_errors
An additional field can be added within each element. This element will describe the error regarding errors which are not related to specific elements.
This element is called: non_field_errors
Example request
{
"key" : "Pricelist1",
...
"product_contracts" : [
{
"key" : "Pricelist1_contract",
"origin" : "CUSTOMER",
"active" : true,
...
]
}
]
}Example error response
In this case the pricelist already exists when posting it.
{
"non_field_errors": [
"The fields origin, import_key must make a unique set."
]
}Element specific errors
Also error reporting can be done on a specific element. In this case the same key is used exept that the response is a collection of strings.
Example request
The type of active is a boolean in the original request.
{
"key" : "Pricelist1",
"active" : "GG",
...
"product_contracts" : [
...
]
}
]
}Example error response
{
"active": [
"\"GG\" is not a valid boolean."
]
}Severe errors
If a severe error occurs (HTTP code 500) a different body will be given.
{
"error": "Server Error (500). If this error persists, please contact CloudSuite Support with the information in this message.",
"error_id": "98cdf64c094842a8aee45e470da5c4c8",
"user_id": 11,
"request_method": "PATCH",
"request_uri": "https://test.cloudsuite.io/api/origin/MYORIGIN/product/12345/",
"remote_host": "",
"datetime": "2025-09-08T16:05:41.914+02:00"
}Rate Limit
The test environment API has a rate limit of 5 calls per second per IP address. More calls can return a HTTP 429 - Too many requests error response.
The production environment has no rate limit, but use the number of parallel calls with caution
Documentation:
To use our documentation you must create a session with the given credentials:
Go to https://test.cloudsuite.io/admin and login with your credentials
When succesfully logged in the following URL's can be used to use the documentation.
https://test.cloudsuite.io/api/docs/
https://test.cloudsuite.io/api/swagger/