Download OpenAPI specification:
Welcome to the adiutaOpt API documentation!
This document specifies all endpoints and schema requirements. If you notice an error, please contact us.
The typical process of an optimization request looks as follows:
The overview site can be found here.
The authentication is performed via AWS Cognito (Developer-Guide). It is recommended to use one of the SKDs provided by AWS to simplify the authentication process considerably. Examples for SDKs:
Authentication provides three tokens: the access-token, the ID-token and the refresh-token. All three are JSON Web Tokens.
Authorization: 'ID-token'
auth_time) and when it will expire (exp). Currently, an ID-token expires after one hour and requests with expired ID-tokens are rejected automatically. You can get a new ID-token by using the refresh-token without having to re-enter your credentials.const user = ""; // your username const pw = ""; // your password const userPoolID = ""; // UserPoolID, see configuration details const clientID = ""; // ClientId, see configuration details const AmazonCognitoIdentity = require('amazon-cognito-identity-js'); module.exports.login = () => new Promise((resolve, reject) => { const userPool = new AmazonCognitoIdentity.CognitoUserPool({ UserPoolId: userPoolID, ClientId: clientID }); const authenticationDetails = new AmazonCognitoIdentity.AuthenticationDetails({ Username: user, Password: pw, }); const cognitoUser = new AmazonCognitoIdentity.CognitoUser({ Username: user, Pool: userPool }); cognitoUser.authenticateUser(authenticationDetails, { onSuccess: function (result) { const token = result.getIdToken().getJwtToken(); resolve(token); }, onFailure: function (err) { reject(); } }); })
Get an overview over each client's requests in the specified year/month. Management-users without reporter status can access only those requests that have been sent by a correlating user-account (identical authentication mail address). Requesting data for any other customer will result in status code 403 - FORBIDDEN. You can find out your customer id by checking the field requestID in a response of a GET /plan/... request.
Management users with reporter status can access the request data for any customer. Requesting data for a non-existent customer will result in a 200 response with empty RequestResponse as data.
Responses from this endpoint have a content size limit which depends on the used content-type of the response, which can be specified with the accept header. If the response size would exceed that limit, the endpoint returns code 409 instead. Responses of type application/json can include payloads of up to 6Mb, all other types can return up to 4.5Mb of (compressed) data.
| customer required | string The customer ID to collect analytics from. It is the first part of the |
| year required | string Year to collect analytics to, allowed formats are 'YYYY' and 'YY', the latter of which assumes the 21st century. |
| month required | string Month to collect analytics to, allowed formats are 'MM' and 'M'. |
"application/json" (string) or "application/vnd.adiutabyte.adiutaopt.json+gzip" (string) or "application/vnd.adiutabyte.adiutaopt.json+deflate" (string) or "application/vnd.adiutabyte.adiutaopt.json+br" (string) (optional) The | |
"identity" (string) or "gzip" (string) or "deflate" (string) (optional) The |
curl \ --request GET \ --url '[see url above]/[your customer id]/[YYYY]/[MM]' \ --header 'Authorization: Bearer [ID-Token obtained from Authentication (JWT)]'
[- {
- "clientID": "string",
- "requests": [
- {
- "timestamp": "2025-02-04T14:58:33.442Z",
- "type": "tour",
- "tasks": 2147483647,
- "workers": 2147483647
}
]
}
]Same behavior as the GET request but returns no content for any of the responses.
| customer required | string The customer ID to collect analytics from. It is the first part of the |
| year required | string Year to collect analytics to, allowed formats are 'YYYY' and 'YY', the latter of which assumes the 21st century. |
| month required | string Month to collect analytics to, allowed formats are 'MM' and 'M'. |
"application/json" (string) or "application/vnd.adiutabyte.adiutaopt.json+gzip" (string) or "application/vnd.adiutabyte.adiutaopt.json+deflate" (string) or "application/vnd.adiutabyte.adiutaopt.json+br" (string) (optional) The | |
"identity" (string) or "gzip" (string) or "deflate" (string) (optional) The |
Get an overview over each client's limit usages on each day in the specified year/month. Management-users without reporter status can access only those requests that have been sent by a correlating user-account (identical authentication mail address). Requesting data for any other customer will result in status code 403 - FORBIDDEN. You can find out your customer id by checking the field requestID in a response of a GET /plan/... request.
Management users with reporter status can access the limit usage for any customer. Requesting data for a non-existent customer will result in a 200 response with empty LimitResponse as data.
Responses from this endpoint have a content size limit which depends on the used content-type of the response, which can be specified with the accept header. If the response size would exceed that limit, the endpoint returns code 409 instead. Responses of type application/json can include payloads of up to 6Mb, all other types can return up to 4.5Mb of (compressed) data.
| customer required | string The customer ID to collect analytics from. It is the first part of the |
| year required | string Year to collect analytics to, allowed formats are 'YYYY' and 'YY', the latter of which assumes the 21st century. |
| month required | string Month to collect analytics to, allowed formats are 'MM' and 'M'. |
"application/json" (string) or "application/vnd.adiutabyte.adiutaopt.json+gzip" (string) or "application/vnd.adiutabyte.adiutaopt.json+deflate" (string) or "application/vnd.adiutabyte.adiutaopt.json+br" (string) (optional) The | |
"identity" (string) or "gzip" (string) or "deflate" (string) (optional) The |
curl \ --request GET \ --url '[see url above]/[your customer id]/[YYYY]/[MM]' \ --header 'Authorization: Bearer [ID-Token obtained from Authentication (JWT)]'
[- {
- "10": 2147483647,
- "11": 2147483647,
- "12": 2147483647,
- "13": 2147483647,
- "14": 2147483647,
- "15": 2147483647,
- "16": 2147483647,
- "17": 2147483647,
- "18": 2147483647,
- "19": 2147483647,
- "20": 2147483647,
- "21": 2147483647,
- "22": 2147483647,
- "23": 2147483647,
- "24": 2147483647,
- "25": 2147483647,
- "26": 2147483647,
- "27": 2147483647,
- "28": 2147483647,
- "29": 2147483647,
- "30": 2147483647,
- "31": 2147483647,
- "clientID": "string",
- "01": 2147483647,
- "02": 2147483647,
- "03": 2147483647,
- "04": 2147483647,
- "05": 2147483647,
- "06": 2147483647,
- "07": 2147483647,
- "08": 2147483647,
- "09": 2147483647
}
]Same behavior as the GET request but returns no content for any of the responses.
| customer required | string The customer ID to collect analytics from. It is the first part of the |
| year required | string Year to collect analytics to, allowed formats are 'YYYY' and 'YY', the latter of which assumes the 21st century. |
| month required | string Month to collect analytics to, allowed formats are 'MM' and 'M'. |
"application/json" (string) or "application/vnd.adiutabyte.adiutaopt.json+gzip" (string) or "application/vnd.adiutabyte.adiutaopt.json+deflate" (string) or "application/vnd.adiutabyte.adiutaopt.json+br" (string) (optional) The | |
"identity" (string) or "gzip" (string) or "deflate" (string) (optional) The |
Unsigned 32 bit integer with the upper limit of a signed 32bit integer
2147483647| timestamp required | string Timestamp when the request was posted. |
| type required | string Value: "tour" |
| tasks required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks in request. |
| workers required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of workers in request. |
{- "timestamp": "2025-02-04T14:58:33.442Z",
- "type": "tour",
- "tasks": 2147483647,
- "workers": 2147483647
}| timestamp required | string Timestamp when the request was posted. |
| type required | string Value: "shift" |
| tasks required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks in request. |
| workers required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of workers in request. |
{- "timestamp": "2025-02-04T14:58:33.442Z",
- "type": "shift",
- "tasks": 2147483647,
- "workers": 2147483647
}| timestamp required | string Timestamp when the request was posted. |
| type required | string Value: "floor" |
| tasks required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks in request. |
| workers required | integer (Integer_u32) [ 0 .. 2147483647 ] Number of workers in request. |
{- "timestamp": "2025-02-04T14:58:33.442Z",
- "type": "floor",
- "tasks": 2147483647,
- "workers": 2147483647
}| clientID required | string Identifier for the client. Mirrors the value of |
required | Array of RequestsEntryMixed (object) or RequestsEntryShift (object) or RequestsEntryFloor (object) A list of all requests of this client and some analytics data |
{- "clientID": "string",
- "requests": [
- {
- "timestamp": "2025-02-04T14:58:33.442Z",
- "type": "tour",
- "tasks": 2147483647,
- "workers": 2147483647
}
]
}| 10 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the tenth of the specified month. |
| 11 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the eleventh of the specified month. |
| 12 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the twelfth of the specified month. |
| 13 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 13th of the specified month. |
| 14 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 14th of the specified month. |
| 15 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 15th of the specified month. |
| 16 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 16th of the specified month. |
| 17 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 17th of the specified month. |
| 18 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 18th of the specified month. |
| 19 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 19th of the specified month. |
| 20 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 20th of the specified month. |
| 21 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 21st of the specified month. |
| 22 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 22nd of the specified month. |
| 23 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 23rd of the specified month. |
| 24 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 24th of the specified month. |
| 25 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 25th of the specified month. |
| 26 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 26th of the specified month. |
| 27 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 27th of the specified month. |
| 28 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 28th of the specified month. |
| 29 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 29th of the specified month. |
| 30 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 30th of the specified month. |
| 31 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 31st of the specified month. |
| clientID required | string Identifier for the client. Mirrors the value of |
| 01 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the first of the specified month. |
| 02 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the second of the specified month. |
| 03 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the third of the specified month. |
| 04 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the fourth of the specified month. |
| 05 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the fifth of the specified month. |
| 06 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the sixth of the specified month. |
| 07 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the seventh of the specified month. |
| 08 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the eighth of the specified month. |
| 09 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the ninth of the specified month. |
{- "10": 2147483647,
- "11": 2147483647,
- "12": 2147483647,
- "13": 2147483647,
- "14": 2147483647,
- "15": 2147483647,
- "16": 2147483647,
- "17": 2147483647,
- "18": 2147483647,
- "19": 2147483647,
- "20": 2147483647,
- "21": 2147483647,
- "22": 2147483647,
- "23": 2147483647,
- "24": 2147483647,
- "25": 2147483647,
- "26": 2147483647,
- "27": 2147483647,
- "28": 2147483647,
- "29": 2147483647,
- "30": 2147483647,
- "31": 2147483647,
- "clientID": "string",
- "01": 2147483647,
- "02": 2147483647,
- "03": 2147483647,
- "04": 2147483647,
- "05": 2147483647,
- "06": 2147483647,
- "07": 2147483647,
- "08": 2147483647,
- "09": 2147483647
}| 10 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the tenth of the specified month. |
| 11 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the eleventh of the specified month. |
| 12 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the twelfth of the specified month. |
| 13 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 13th of the specified month. |
| 14 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 14th of the specified month. |
| 15 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 15th of the specified month. |
| 16 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 16th of the specified month. |
| 17 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 17th of the specified month. |
| 18 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 18th of the specified month. |
| 19 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 19th of the specified month. |
| 20 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 20th of the specified month. |
| 21 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 21st of the specified month. |
| 22 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 22nd of the specified month. |
| 23 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 23rd of the specified month. |
| 24 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 24th of the specified month. |
| 25 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 25th of the specified month. |
| 26 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 26th of the specified month. |
| 27 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 27th of the specified month. |
| 28 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 28th of the specified month. |
| 29 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 29th of the specified month. |
| 30 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 30th of the specified month. |
| 31 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the 31st of the specified month. |
| clientID required | string Identifier for the client. Mirrors the value of |
| 01 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the first of the specified month. |
| 02 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the second of the specified month. |
| 03 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the third of the specified month. |
| 04 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the fourth of the specified month. |
| 05 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the fifth of the specified month. |
| 06 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the sixth of the specified month. |
| 07 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the seventh of the specified month. |
| 08 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the eighth of the specified month. |
| 09 | integer (Integer_u32) [ 0 .. 2147483647 ] Number of tasks requested on the ninth of the specified month. |
[- {
- "10": 2147483647,
- "11": 2147483647,
- "12": 2147483647,
- "13": 2147483647,
- "14": 2147483647,
- "15": 2147483647,
- "16": 2147483647,
- "17": 2147483647,
- "18": 2147483647,
- "19": 2147483647,
- "20": 2147483647,
- "21": 2147483647,
- "22": 2147483647,
- "23": 2147483647,
- "24": 2147483647,
- "25": 2147483647,
- "26": 2147483647,
- "27": 2147483647,
- "28": 2147483647,
- "29": 2147483647,
- "30": 2147483647,
- "31": 2147483647,
- "clientID": "string",
- "01": 2147483647,
- "02": 2147483647,
- "03": 2147483647,
- "04": 2147483647,
- "05": 2147483647,
- "06": 2147483647,
- "07": 2147483647,
- "08": 2147483647,
- "09": 2147483647
}
]accept and accept-encoding headers to all GET endpoints, added 406, 409 response codes