Profile TFLite Model
Takes in a TFLite model and returns the latency, RAM and ROM used for this model. Updates are streamed over the websocket API (or can be retrieved through the /stdout endpoint). Use getProfileTfliteJo
post
https://studio.edgeimpulse.com/v1
/api/{projectId}/jobs/profile-tflite
Profile TFLite model
cURL
Python
Node.js
curl --request POST \
--url https://studio.edgeimpulse.com/v1/api/{projectId}/jobs/profile-tflite \
--header 'content-type: application/json' \
--header 'x-jwt-token: REPLACE_KEY_VALUE' \
--data '{"tfliteFileBase64":"string","device":"string","referenceModel":"gestures-large-f32"}'
import http.client
conn = http.client.HTTPSConnection("studio.edgeimpulse.com")
payload = "{\"tfliteFileBase64\":\"string\",\"device\":\"string\",\"referenceModel\":\"gestures-large-f32\"}"
headers = {
'content-type': "application/json",
'x-jwt-token': "REPLACE_KEY_VALUE"
}
conn.request("POST", "/v1/api/{projectId}/jobs/profile-tflite", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
const request = require('request');
const options = {
method: 'POST',
url: 'https://studio.edgeimpulse.com/v1/api/{projectId}/jobs/profile-tflite',
headers: {'content-type': 'application/json', 'x-jwt-token': 'REPLACE_KEY_VALUE'},
body: {
tfliteFileBase64: 'string',
device: 'string',
referenceModel: 'gestures-large-f32'
},
json: true
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
Export as PDF
Copy link
.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"email\",\"description\":\"E-mail address. Will need to be validated before the account will become active.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"password\",\"description\":\"Password, minimum length 8 characters.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectName\",\"description\":\"A project will automatically be created. Sets the name of the first project. If not set, this will be derived from the username.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privacyPolicy\",\"description\":\"Whether the user accepted the privacy policy\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"activationToken\",\"description\":\"Activation token for users created via SSO\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"identityProvider\",\"description\":\"Unique identifier of the identity provider asserting the identity of this user\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api-user-create-evaluate\":{\"post\":{\"summary\":\"Create evaluation user\",\"description\":\"Creates an evaluation user and a new project, and redirects the user to the new project.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api-user-need-to-set-password/{usernameOrEmail}\":{\"get\":{\"summary\":\"Get user password state\",\"description\":\"Tells whether the user needs to set its password.\",\"parameters\":[{\"in\":\"path\",\"name\":\"usernameOrEmail\",\"description\":\"Username or email\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user\":{\"get\":{\"summary\":\"Get current user\",\"description\":\"Get information about the current user. This function is only available through a JWT token.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update current user\",\"description\":\"Update user properties such as name. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"name\",\"description\":\"New full name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"showImagine2022\",\"description\":\"Whether to show the Imagine 2022 banner\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete current user\",\"description\":\"Delete a user. This function is only available through a JWT token, and can only remove the current user.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/user/convert\":{\"post\":{\"summary\":\"Convert current evaluation user\",\"description\":\"Convert current evaluation user account to regular account.\",\"parameters\":[{\"in\":\"body\",\"name\":\"name\",\"description\":\"Your name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"username\",\"description\":\"Username, minimum 4 and maximum 30 characters. May contain alphanumeric characters, hyphens, underscores and dots. Validated according to `^(?=.{4,30}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._-]+(? Profile TFLite Model - Edge Impulse API .\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"email\",\"description\":\"E-mail address. Will need to be validated before the account will become active.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"password\",\"description\":\"Password, minimum length 8 characters.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectName\",\"description\":\"A project will automatically be created. Sets the name of the first project. If not set, this will be derived from the username.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privacyPolicy\",\"description\":\"Whether the user accepted the privacy policy\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/user/activate\":{\"post\":{\"summary\":\"Activate current user\",\"description\":\"Activate the current user account (requires an activation code). This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"code\",\"description\":\"Activation code (sent through an email)\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/user/request-activation\":{\"post\":{\"summary\":\"Request activation code\",\"description\":\"Request a new activation code for the current user. This function is only available through a JWT token.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/user/create-developer-profile\":{\"post\":{\"summary\":\"Create developer profile\",\"description\":\"Create a developer profile for the current active user.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user/emails\":{\"get\":{\"summary\":\"List emails\",\"description\":\"Get a list of all emails sent by Edge Impulse to the current user. This function is only available through a JWT token, and is not available for all users.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user/photo\":{\"post\":{\"summary\":\"Upload photo\",\"description\":\"Upload a photo for the current user. This function is only available through a JWT token. Don't trust the code generated by the widget, there are examples of using this API in Python, cURL and Node.js under the parameters.\",\"parameters\":[{\"in\":\"body\",\"name\":\"photo\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user/change-password\":{\"post\":{\"summary\":\"Change password current user\",\"description\":\"Change the password for the current user account. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"currentPassword\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"newPassword\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/user/organizations\":{\"get\":{\"summary\":\"Get organizations\",\"description\":\"List all organizations that the current user is a member of. This function is only available through a JWT token.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/users/buckets\":{\"get\":{\"summary\":\"Get buckets current user\",\"description\":\"List all organizational storage buckets that the current user has access to. This function is only available through a JWT token.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user/by-third-party-activation-code\":{\"post\":{\"summary\":\"Get user by third party activation code\",\"description\":\"Get information about a user through an activation code. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"activationCode\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/user/activate-by-third-party-activation-code\":{\"post\":{\"summary\":\"Activate user by third party activation code\",\"description\":\"Activate a user that was created by a third party. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"activationCode\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"password\",\"description\":\"Password, minimum length 8 characters.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Your name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"username\",\"description\":\"Username, minimum 4 and maximum 30 characters. May contain alphanumeric characters, hyphens, underscores and dots. Validated according to `^(?=.{4,30}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._-]+(? Profile TFLite Model - Edge Impulse API .\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privacyPolicy\",\"description\":\"Whether the user accepted the privacy policy\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"\\\"`{ \\\\\\\"success\\\\\\\": true, \\\\\\\"token\\\\\\\": \\\\\\\"A372jdhe.ad3r4gfrg\\\\\\\" }`\\\"\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema\"}}]}},\"/api/user/accept-tos\":{\"post\":{\"summary\":\"Accept Terms of Service\",\"description\":\"Accept Terms of Service.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}\":{\"get\":{\"summary\":\"Get user\",\"description\":\"Get information about a user. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update user\",\"description\":\"Update user properties such as name. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"New full name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"showImagine2022\",\"description\":\"Whether to show the Imagine 2022 banner\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete user\",\"description\":\"Delete a user. This function is only available through a JWT token, and can only remove the current user.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}/activate\":{\"post\":{\"summary\":\"Activate user\",\"description\":\"Activate a user account (requires an activation code). This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"code\",\"description\":\"Activation code (sent through an email)\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}/request-activation\":{\"post\":{\"summary\":\"Request activation code\",\"description\":\"Request a new activation code. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}/emails\":{\"get\":{\"summary\":\"List emails\",\"description\":\"Get a list of all emails sent by Edge Impulse to a user. This function is only available through a JWT token, and is not available for all users.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/users/{userId}/photo\":{\"post\":{\"summary\":\"Upload photo\",\"description\":\"Upload a photo for a user. This function is only available through a JWT token, and is not available for all users.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"photo\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/users/{userId}/change-password\":{\"post\":{\"summary\":\"Change password\",\"description\":\"Change the password for a user account. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"currentPassword\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"newPassword\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}/set-password\":{\"post\":{\"summary\":\"Set password for SSO user\",\"description\":\"Set the password for a new SSO user. This function is only available through an SSO access token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"accessToken\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"identityProvider\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"password\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/users/{userId}/organizations\":{\"get\":{\"summary\":\"Get organizations\",\"description\":\"List all organizations for a user. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/users/{userId}/buckets\":{\"get\":{\"summary\":\"Get buckets\",\"description\":\"List all organizational storage buckets that a user has access to. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api-user-request-reset-password\":{\"post\":{\"summary\":\"Request reset password\",\"description\":\"Request a password reset link for a user.\",\"parameters\":[{\"in\":\"body\",\"name\":\"email\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api-user-reset-password\":{\"post\":{\"summary\":\"Reset password\",\"description\":\"Reset the password for a user.\",\"parameters\":[{\"in\":\"body\",\"name\":\"email\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"code\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"newPassword\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api-user-verify-reset-password-code\":{\"post\":{\"summary\":\"Verify reset password code\",\"description\":\"Verify whether the reset password code for the user is valid.\",\"parameters\":[{\"in\":\"body\",\"name\":\"email\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"code\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/third-party-auth\":{\"get\":{\"summary\":\"Get all third party auth\",\"description\":\"Get information about all third party authentication partners\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Create third party auth\",\"description\":\"Create a new third party authentication partner\",\"parameters\":[{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"logo\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"domains\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"secretKey\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"apiKey\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/third-party-auth/{authId}\":{\"get\":{\"summary\":\"Get third party auth\",\"description\":\"Get information about a third party authentication partner\",\"parameters\":[{\"in\":\"path\",\"name\":\"authId\",\"description\":\"Auth ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update third party auth\",\"description\":\"Update a third party authentication partner\",\"parameters\":[{\"in\":\"path\",\"name\":\"authId\",\"description\":\"Auth ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"logo\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"domains\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete third party auth\",\"description\":\"Delete a third party authentication partner\",\"parameters\":[{\"in\":\"path\",\"name\":\"authId\",\"description\":\"Auth ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/third-party-auth/{authId}/authorize\":{\"post\":{\"summary\":\"Give access to project\",\"description\":\"Authorize a third party to access a project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"authId\",\"description\":\"Auth ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"nextUrl\",\"description\":\"The URL to redirect to after authorization is completed.\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"302\",\"description\":\"A redirect to the nextUrl from the request\",\"examples\":{}}]}},\"/api/third-party-auth/{authId}/login\":{\"post\":{\"summary\":\"Create or login a user\",\"description\":\"Login as a user as a third-party authentication provider. If the user does not exists, it's automatically created. You can only log in as users that were previously created by you.\",\"parameters\":[{\"in\":\"path\",\"name\":\"authId\",\"description\":\"Auth ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Your name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"username\",\"description\":\"Username, minimum 4 and maximum 30 characters. May contain alphanumeric characters, hyphens, underscores and dots. Validated according to `^(?=.{4,30}$)(?![_.])(?!.*[_.]{2})[a-zA-Z0-9._-]+(? Profile TFLite Model - Edge Impulse API .\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"email\",\"description\":\"E-mail address. Will need to be validated before the account will become active.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectName\",\"description\":\"A project will automatically be created. Sets the name of the first project. If not set, this will be derived from the username.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privacyPolicy\",\"description\":\"Whether the user accepted the privacy policy\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/themes\":{\"get\":{\"summary\":\"Get themes\",\"description\":\"Get all available Studio themes.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/themes/{themeId}\":{\"get\":{\"summary\":\"Get theme by ID\",\"description\":\"Get a theme given its unique identifier.\",\"parameters\":[{\"in\":\"path\",\"name\":\"themeId\",\"description\":\"Theme ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"delete\":{\"summary\":\"Delete theme by ID\",\"description\":\"Delete a theme given its unique identifier.\",\"parameters\":[{\"in\":\"path\",\"name\":\"themeId\",\"description\":\"Theme ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/themes/{themeId}/logos\":{\"post\":{\"summary\":\"Update theme logos\",\"description\":\"Update some or all theme logos.\",\"parameters\":[{\"in\":\"path\",\"name\":\"themeId\",\"description\":\"Theme ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"primary\",\"description\":\"Primary logo URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"primaryWhite\",\"description\":\"Primary logo for dark background URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"login\",\"description\":\"Login logo URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"loginWhite\",\"description\":\"Login logo for dark background URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"mark\",\"description\":\"Mark URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"markWhite\",\"description\":\"Mark for dark background URL\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/themes/{themeId}/colors\":{\"post\":{\"summary\":\"Update theme colors\",\"description\":\"Update some or all theme colors.\",\"parameters\":[{\"in\":\"path\",\"name\":\"themeId\",\"description\":\"Theme ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"primaryColor\",\"description\":\"Primary color in hex format\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/themes/{themeId}/favicon\":{\"post\":{\"summary\":\"Update theme favicon\",\"description\":\"Update the theme favicon\",\"parameters\":[{\"in\":\"path\",\"name\":\"themeId\",\"description\":\"Theme ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/whitelabels\":{\"get\":{\"summary\":\"List the registered white labels\",\"description\":\"Retrieve the list of registered white labels.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Create a new white label\",\"description\":\"Create a new white label\",\"parameters\":[{\"in\":\"body\",\"name\":\"name\",\"description\":\"The name of the white label.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"domain\",\"description\":\"The domain where the white label lives.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"ownerOrganizationId\",\"required\":true,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"identityProviders\",\"description\":\"The list of allowed identity providers.\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"allowPasswordAuth\",\"description\":\"Whether this white label accepts password based authentication.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"deploymentTargets\",\"description\":\"The list of deployment targets to show on the UI\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"documentationUrl\",\"description\":\"Custom documentation URL\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"allowSignup\",\"description\":\"Whether this white label allow sign ups or not.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"allowFreeProjects\",\"description\":\"Whether this white label allows the creation of free projects.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"sandboxed\",\"description\":\"Whether this white label should work in sandboxed mode or not.\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/whitelabel/{whitelabelId}\":{\"get\":{\"summary\":\"White label information\",\"description\":\"Retrieve all the information about this white label.\",\"parameters\":[{\"in\":\"path\",\"name\":\"whitelabelId\",\"description\":\"Whitelabel ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"delete\":{\"summary\":\"Deletes a white label\",\"description\":\"Deletes the white label with the given id.\",\"parameters\":[{\"in\":\"path\",\"name\":\"whitelabelId\",\"description\":\"Whitelabel ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/whitelabel/{whitelabelId}/deploymentTargets\":{\"post\":{\"summary\":\"Update deployment targets\",\"description\":\"Update some or all of the deployment targets enabled for this white label.\",\"parameters\":[{\"in\":\"path\",\"name\":\"whitelabelId\",\"description\":\"Whitelabel ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"targets\",\"description\":\"The names of the deployment targets that are enabled for this whitelabel.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/whitelabel/{whitelabelId}/impulse/blocks\":{\"get\":{\"summary\":\"Get impulse blocks\",\"description\":\"Lists all possible DSP and ML blocks available for this white label.\",\"parameters\":[{\"in\":\"path\",\"name\":\"whitelabelId\",\"description\":\"Whitelabel ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/deployment/targets\":{\"get\":{\"summary\":\"Deployment targets\",\"description\":\"List all deployment targets\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/projects\":{\"get\":{\"summary\":\"List active projects\",\"description\":\"Retrieve list of active projects. If authenticating using JWT token this lists all the projects the user has access to, if authenticating using an API key, this only lists that project.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/projects/create\":{\"post\":{\"summary\":\"Create new project\",\"description\":\"Create a new project. This API can only be called using a JWT token.\",\"parameters\":[{\"in\":\"body\",\"name\":\"projectName\",\"description\":\"The name of the first project.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"originalProjectVersionId\",\"description\":\"The ID of the version that was used to restore this project.\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/devkeys\":{\"get\":{\"summary\":\"Get development keys\",\"description\":\"Retrieve the development API and HMAC keys for a project. These keys are specifically marked to be used during development. These keys can be `undefined` if no development keys are set.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/downloads\":{\"get\":{\"summary\":\"Get downloads\",\"description\":\"Retrieve the downloads for a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/collaborators/add\":{\"post\":{\"summary\":\"Add collaborator\",\"description\":\"Add a collaborator to a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"usernameOrEmail\",\"description\":\"Username or e-mail address\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/collaborators/remove\":{\"post\":{\"summary\":\"Remove collaborator\",\"description\":\"Remove a collaborator to a project. Note that you cannot invoke this function if only a single collaborator is present.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"usernameOrEmail\",\"description\":\"Username or e-mail address\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/collaborators/transfer-ownership\":{\"post\":{\"summary\":\"Transfer ownership (user)\",\"description\":\"Transfer ownership of a project to another user.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"usernameOrEmail\",\"description\":\"Username or e-mail address\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/collaborators/transfer-ownership-org\":{\"post\":{\"summary\":\"Transfer ownership (organization)\",\"description\":\"Transfer ownership of a project to another organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"organizationId\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/hmackeys\":{\"get\":{\"summary\":\"Get HMAC keys\",\"description\":\"Retrieve all HMAC keys.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add HMAC key\",\"description\":\"Add an HMAC key. If you set `developmentKey` to `true` this flag will be removed from the current development HMAC key.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Description of the key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"hmacKey\",\"description\":\"HMAC key.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"isDevelopmentKey\",\"description\":\"Whether this key should be used as a development key.\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/hmackeys/{hmacId}\":{\"delete\":{\"summary\":\"Remove HMAC key\",\"description\":\"Revoke an HMAC key. Note that if you revoke the development key some services (such as automatic provisioning of devices through the serial daemon) will no longer work.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"hmacId\",\"description\":\"Hmac key ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/apikeys\":{\"get\":{\"summary\":\"Get API keys\",\"description\":\"Retrieve all API keys. This does **not** return the full API key, but only a portion (for security purposes). The development key will be returned in full, as it'll be set in devices and is thus not private.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add API key\",\"description\":\"Add an API key. If you set `developmentKey` to `true` this flag will be removed from the current development API key.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Description of the key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"apiKey\",\"description\":\"API key. This needs to start with `ei_` and will need to be at least 32 characters long.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"isDevelopmentKey\",\"description\":\"Whether this key should be used as a development key.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"role\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/apikeys/{apiKeyId}\":{\"delete\":{\"summary\":\"Revoke API key\",\"description\":\"Revoke an API key. Note that if you revoke the development API key some services (such as automatic provisioning of devices through the serial daemon) will no longer work.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"apiKeyId\",\"description\":\"API key ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/emails\":{\"get\":{\"summary\":\"List emails\",\"description\":\"Get a list of all emails sent by Edge Impulse regarding this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/socket-token\":{\"get\":{\"summary\":\"Get socket token\",\"description\":\"Get a token to authenticate with the web socket interface.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/data-axes\":{\"get\":{\"summary\":\"Get data axes summary\",\"description\":\"Get a list of axes that are present in the training data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/data-interval\":{\"get\":{\"summary\":\"Get the interval (in ms) of the training data\",\"description\":\"Get the interval of the training data; if multiple intervals are present, the interval of the longest data item is returned.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/compute-time-limit\":{\"post\":{\"summary\":\"Set compute time limit\",\"description\":\"Change the job compute time limit for the project. This function is only available through a JWT token, and is not available to all users.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"jobLimitM\",\"description\":\"New job limit in seconds.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/dsp-file-size-limit\":{\"post\":{\"summary\":\"Set DSP file size limit\",\"description\":\"Change the DSP file size limit for the project. This function is only available through a JWT token, and is not available to all users.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"dspFileSizeMb\",\"description\":\"DSP File size in MB (default is 4096 MB)\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/versions\":{\"get\":{\"summary\":\"List versions\",\"description\":\"Get all versions for this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/versions/public\":{\"get\":{\"summary\":\"List public versions\",\"description\":\"Get all public versions for this project. You don't need any authentication for this function.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/versions/{versionId}\":{\"post\":{\"summary\":\"Update version\",\"description\":\"Updates a version, this only updates fields that were set in the body.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"versionId\",\"description\":\"Version ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete versions\",\"description\":\"Delete a version. This does not delete the version from cold storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"versionId\",\"description\":\"Version ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/versions/{versionId}/make-private\":{\"post\":{\"summary\":\"Make version private\",\"description\":\"Make a public version private.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"versionId\",\"description\":\"Version ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/readme/upload-image\":{\"post\":{\"summary\":\"Upload image for readme\",\"description\":\"Uploads an image to the user CDN and returns the path.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/launch-getting-started\":{\"post\":{\"summary\":\"Launch getting started wizard\",\"description\":\"This clears out *all data in your project*, and is irrevocable. This function is only available through a JWT token, and is not available to all users.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/last-modification\":{\"get\":{\"summary\":\"Last modification\",\"description\":\"Get the last modification date for a project (will be upped when data is modified, or when an impulse is trained)\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/tags\":{\"post\":{\"summary\":\"Update tags\",\"description\":\"Update the list of project tags.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"tags\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/projects/public\":{\"get\":{\"summary\":\"List public projects\",\"description\":\"Retrieve the list of all public projects. You don't need any authentication for this method.\",\"parameters\":[{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"project\",\"description\":\"Only include projects that contain this string\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/devices\":{\"get\":{\"summary\":\"Lists devices\",\"description\":\"List all devices for this project. Devices get included here if they connect to the remote management API or if they have sent data to the ingestion API and had the `device_id` field set.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/device/{deviceId}\":{\"get\":{\"summary\":\"Get device\",\"description\":\"Retrieves a single device\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deviceId\",\"description\":\"Device ID\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"delete\":{\"summary\":\"Delete device\",\"description\":\"Delete a device. When this device sends a new message to ingestion or connects to remote management the device will be recreated.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deviceId\",\"description\":\"Device ID\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/device/{deviceId}/start-sampling\":{\"post\":{\"summary\":\"Start sampling\",\"description\":\"Start sampling on a device. This function returns immediately. Updates are streamed through the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deviceId\",\"description\":\"Device ID\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"label\",\"description\":\"Label to be used during sampling.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"lengthMs\",\"description\":\"Requested length of the sample (in ms).\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"category\",\"description\":\"Which acquisition category to sample data into.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"intervalMs\",\"description\":\"Interval between samples (can be calculated like `1/hz * 1000`)\",\"required\":true,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"sensor\",\"description\":\"The sensor to sample from.\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/devices/create\":{\"post\":{\"summary\":\"Create device\",\"description\":\"Create a new device. If you set `ifNotExists` to `false` and the device already exists, the `deviceType` will be overwritten.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"deviceId\",\"description\":\"Globally unique device identifier (e.g. MAC address)\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"deviceType\",\"description\":\"Device type, for example the exact model of the device. Should be the same for all similar devices\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"ifNotExists\",\"description\":\"Whether to throw an error when this device already exists.\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/devices/{deviceId}/rename\":{\"post\":{\"summary\":\"Rename\",\"description\":\"Set the current name for a device.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deviceId\",\"description\":\"Device ID\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"New name for this device\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data\":{\"get\":{\"summary\":\"List samples\",\"description\":\"Retrieve all raw data by category.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"excludeSensors\",\"description\":\"Whether to exclude sensors in the response (as these can slow down requests when you have large pages).\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/count\":{\"get\":{\"summary\":\"Count samples\",\"description\":\"Count all raw data by category.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/label-object-detection-queue\":{\"get\":{\"summary\":\"Object detection label queue\",\"description\":\"Get all unlabeled items from the object detection queue.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/label-object-detection-queue/count\":{\"get\":{\"summary\":\"Object detection label queue count\",\"description\":\"Get count for unlabeled items from the object detection queue.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/rebalance\":{\"post\":{\"summary\":\"Rebalance dataset\",\"description\":\"Rebalances the dataset over training / testing categories. This resets the category for all data and splits it 80%/20% between training and testing. This is a deterministic process based on the hash of the name of the data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/delete-all\":{\"post\":{\"summary\":\"Remove all samples\",\"description\":\"Deletes all samples for this project over all categories. This also invalidates all DSP and learn blocks. Note that this does not delete the data from cold storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/delete-all/{category}\":{\"post\":{\"summary\":\"Remove all samples by category\",\"description\":\"Deletes all samples for this project over a single category. Note that this does not delete the data from cold storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to download data from\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}\":{\"get\":{\"summary\":\"Get sample\",\"description\":\"Get a sample.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limitPayloadValues\",\"description\":\"Limit the number of payload values in the response\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"delete\":{\"summary\":\"Remove sample\",\"description\":\"Deletes the sample. Note that this does not delete the data from cold storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/raw\":{\"get\":{\"summary\":\"Download file\",\"description\":\"Download a sample in it's original format as uploaded to the ingestion service.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"CBOR or JSON file\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/wav\":{\"get\":{\"summary\":\"Get WAV file\",\"description\":\"Get a sample as a WAV file. This only applies to samples with an audio axis.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"axisIx\",\"description\":\"Axis index\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceStart\",\"description\":\"Begin index of the slice\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceEnd\",\"description\":\"End index of the slice\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Wav file\",\"examples\":{\"audio/wav\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/image\":{\"get\":{\"summary\":\"Get image file\",\"description\":\"Get a sample as an image file. This only applies to samples with RGBA data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"afterInputBlock\",\"description\":\"Whether to process the image through the input block first\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Image file (either JPEG or PNG format)\",\"examples\":{\"image/jpeg\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/video\":{\"get\":{\"summary\":\"Get video file\",\"description\":\"Get a sample as an video file. This only applies to samples with video data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"afterInputBlock\",\"description\":\"Whether to process the image through the input block first\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Video file in AVI or MP4 format\",\"examples\":{\"video/mp4\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/slice\":{\"get\":{\"summary\":\"Get sample slice\",\"description\":\"Get a slice of a sample.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceStart\",\"description\":\"Begin index of the slice\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceEnd\",\"description\":\"End index of the slice\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/{sampleId}/rename\":{\"post\":{\"summary\":\"Rename sample\",\"description\":\"Sets the file name of the sample. This name does not need to be unique, but it's highly recommended to do so.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"New name for this sample\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/edit-label\":{\"post\":{\"summary\":\"Edit label\",\"description\":\"Sets the label (also known as class) of the sample. Use the same label for similar types of data, as they are used during training.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"label\",\"description\":\"New label for this sample\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/move\":{\"post\":{\"summary\":\"Move sample\",\"description\":\"Move a sample to another category (e.g. from test to training).\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"newCategory\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/crop\":{\"post\":{\"summary\":\"Crop sample\",\"description\":\"Crop a sample to within a new range.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"cropStart\",\"description\":\"New start index of the sample\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"cropEnd\",\"description\":\"New end index of the sample\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/{sampleId}/split\":{\"post\":{\"summary\":\"Split sample into frames\",\"description\":\"Split a video sample into individual frames.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"fps\",\"description\":\"Frames per second to extract from this video.\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/find-segments\":{\"post\":{\"summary\":\"Find segments\",\"description\":\"Find start and end times for all non-noise events in a sample\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"shiftSegments\",\"description\":\"If set, the segments are automatically shifted randomly, to make the dataset distribution more uniform.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"segmentLengthMs\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/{sampleId}/segment\":{\"post\":{\"summary\":\"Segment sample\",\"description\":\"Slice a sample into multiple segments. The original file will be marked as deleted, but you can crop any created segment to retrieve the original file.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"segments\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"startMs\":{\"in\":\"body\",\"name\":\"startMs\",\"required\":true,\"type\":\"integer\"},\"endMs\":{\"in\":\"body\",\"name\":\"endMs\",\"required\":true,\"type\":\"integer\"}}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/bounding-boxes\":{\"post\":{\"summary\":\"Set bounding boxes\",\"description\":\"Set the bounding boxes for a sample\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"boundingBoxes\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"label\":{\"in\":\"body\",\"name\":\"label\",\"required\":true,\"type\":\"string\"},\"x\":{\"in\":\"body\",\"name\":\"x\",\"required\":true,\"type\":\"integer\"},\"y\":{\"in\":\"body\",\"name\":\"y\",\"required\":true,\"type\":\"integer\"},\"width\":{\"in\":\"body\",\"name\":\"width\",\"required\":true,\"type\":\"integer\"},\"height\":{\"in\":\"body\",\"name\":\"height\",\"required\":true,\"type\":\"integer\"}}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/store-segment-length\":{\"post\":{\"summary\":\"Store the last segment length\",\"description\":\"When segmenting a sample into smaller segments, store the segment length to ensure uniform segment lengths.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"segmentLength\",\"description\":\"Last segment length in milliseconds.\",\"required\":true,\"type\":\"number\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/original\":{\"get\":{\"summary\":\"Get the original downsampled data\",\"description\":\"Get the original, uncropped, downsampled data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limitPayloadValues\",\"description\":\"Limit the number of payload values in the response\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"zoomStart\",\"description\":\"Zoom into the sample, with the focus starting at this index\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"zoomEnd\",\"description\":\"Zoom into the sample, with the focus ending at this index\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/{sampleId}/enable\":{\"post\":{\"summary\":\"Enable sample\",\"description\":\"Enable a sample, ensuring that it is not excluded from the dataset.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/disable\":{\"post\":{\"summary\":\"Disable sample\",\"description\":\"Disable a sample, ensuring that it is excluded from the dataset.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/{sampleId}/autolabel\":{\"post\":{\"summary\":\"Auto-label an image\",\"description\":\"Classify an image using another neural network.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"neuralNetwork\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/{sampleId}/metadata\":{\"post\":{\"summary\":\"Set sample metadata\",\"description\":\"Adds or updates the metadata associated to a sample.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"metadata\",\"required\":false,\"type\":\"object\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/batch/edit-labels\":{\"post\":{\"summary\":\"Edit labels for multiple samples\",\"description\":\"Sets the label (also known as class) of multiple samples.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"ids\",\"description\":\"Only include samples with an ID within the given list of IDs, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"label\",\"description\":\"New label for this sample\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/batch/delete\":{\"post\":{\"summary\":\"Remove multiple samples\",\"description\":\"Deletes samples. Note that this does not delete the data from cold storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"ids\",\"description\":\"Only include samples with an ID within the given list of IDs, given as a JSON string\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/batch/moveSamples\":{\"post\":{\"summary\":\"Move multiple samples\",\"description\":\"Move multiple samples to another category (e.g. from test to training).\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"ids\",\"description\":\"Only include samples with an ID within the given list of IDs, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"newCategory\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/batch/enable-samples\":{\"post\":{\"summary\":\"Enable multiple samples\",\"description\":\"Enables samples, ensuring that they are not excluded from the dataset.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"ids\",\"description\":\"Only include samples with an ID within the given list of IDs, given as a JSON string\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/batch/disable-samples\":{\"post\":{\"summary\":\"Disable multiple samples\",\"description\":\"Disables samples, ensuring that they are excluded from the dataset.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to retrieve data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"labels\",\"description\":\"Only include samples with a label within the given list of labels, given as a JSON string\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filename\",\"description\":\"Only include samples whose filename includes the given filename\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"maxLength\",\"description\":\"Only include samples shorter than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minLength\",\"description\":\"Only include samples longer than the given length, in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"minFrequency\",\"description\":\"Only include samples with higher frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"maxFrequency\",\"description\":\"Only include samples with lower frequency than given frequency, in hertz\",\"required\":false,\"type\":\"number\"},{\"in\":\"query\",\"name\":\"signatureValidity\",\"description\":\"Include samples with either valid or invalid signatures\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"includeDisabled\",\"description\":\"Include only enabled or disabled samples (or both)\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"ids\",\"description\":\"Only include samples with an ID within the given list of IDs, given as a JSON string\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/track-objects\":{\"post\":{\"summary\":\"Track objects\",\"description\":\"Track objects between two samples. Source sample should have bounding boxes set.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"sourceSampleId\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"nextSampleId\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/data-explorer/features\":{\"get\":{\"summary\":\"Get data explorer features\",\"description\":\"t-SNE2 output of the raw dataset\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/data-explorer/has-features\":{\"get\":{\"summary\":\"Check data explorer features\",\"description\":\"t-SNE2 output of the raw dataset\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/data-explorer/predictions\":{\"get\":{\"summary\":\"Get data explorer predictions\",\"description\":\"Predictions for every data explorer point (only available when using current impulse to populate data explorer)\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/raw-data/data-explorer/clear\":{\"post\":{\"summary\":\"Clear data explorer\",\"description\":\"Remove the current data explorer state\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/data-explorer/settings\":{\"get\":{\"summary\":\"Get data explorer settings\",\"description\":\"Get data explorer configuration, like the type of data, and the input / dsp block to use.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Set data explorer settings\",\"description\":\"Set data explorer configuration, like the type of data, and the input / dsp block to use.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"preset\",\"description\":\"Preset to use for the data explorer.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dimensionalityReductionTechnique\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/raw-data/data-explorer/screenshot\":{\"post\":{\"summary\":\"Upload a data explorer screenshot\",\"description\":\"Used internally (from a data pipeline) to upload a picture of the data explorer\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/impulse\":{\"get\":{\"summary\":\"Get impulse\",\"description\":\"Retrieve the impulse for this project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Create impulse\",\"description\":\"Sets the impulse for this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"inputBlocks\",\"description\":\"Input Blocks that are part of this impulse\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"description\":\"Identifier for this block. Make sure to up this number when creating a new block, and don't re-use identifiers. If the block hasn't changed, keep the ID as-is.\",\"required\":true,\"type\":\"integer\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"description\":\"Block type (either time-series or image)\",\"required\":true,\"type\":\"string\"},\"name\":{\"in\":\"body\",\"name\":\"name\",\"description\":\"Block name, will be used in menus\",\"required\":true,\"type\":\"string\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"description\":\"Block title, used in the impulse UI\",\"required\":true,\"type\":\"string\"},\"windowSizeMs\":{\"in\":\"body\",\"name\":\"windowSizeMs\",\"description\":\"Size of the sliding window in milliseconds\",\"required\":false,\"type\":\"integer\"},\"windowIncreaseMs\":{\"in\":\"body\",\"name\":\"windowIncreaseMs\",\"description\":\"We use a sliding window to go over the raw data. How many milliseconds to increase the sliding window with for each step.\",\"required\":false,\"type\":\"integer\"},\"frequencyHz\":{\"in\":\"body\",\"name\":\"frequencyHz\",\"description\":\"(Input only) Frequency of the input data in Hz\",\"required\":false,\"type\":\"integer\"},\"classificationWindowIncreaseMs\":{\"in\":\"body\",\"name\":\"classificationWindowIncreaseMs\",\"description\":\"We use a sliding window to go over the raw data. How many milliseconds to increase the sliding window with for each step in classification mode.\",\"required\":false,\"type\":\"integer\"},\"padZeros\":{\"in\":\"body\",\"name\":\"padZeros\",\"description\":\"Whether to zero pad data when a data item is too short\",\"required\":false,\"type\":\"boolean\"},\"imageWidth\":{\"in\":\"body\",\"name\":\"imageWidth\",\"description\":\"Width all images are resized to before training\",\"required\":false,\"type\":\"integer\"},\"imageHeight\":{\"in\":\"body\",\"name\":\"imageHeight\",\"description\":\"Width all images are resized to before training\",\"required\":false,\"type\":\"integer\"},\"resizeMode\":{\"in\":\"body\",\"name\":\"resizeMode\",\"description\":\"How to resize images before training\",\"required\":false,\"type\":\"string\"},\"resizeMethod\":{\"in\":\"body\",\"name\":\"resizeMethod\",\"description\":\"Resize method to use when resizing images\",\"required\":false,\"type\":\"string\"},\"cropAnchor\":{\"in\":\"body\",\"name\":\"cropAnchor\",\"description\":\"If images are resized using a crop, choose where to anchor the crop\",\"required\":false,\"type\":\"string\"},\"primaryVersion\":{\"in\":\"body\",\"name\":\"primaryVersion\",\"description\":\"Whether this block is the primary version of its base block.\",\"required\":true,\"type\":\"boolean\"},\"baseBlockId\":{\"in\":\"body\",\"name\":\"baseBlockId\",\"description\":\"The version number of the original block this version was based on. If this is an original block, will be undefined.\",\"required\":false,\"type\":\"number\"},\"tunerBaseBlockId\":{\"in\":\"body\",\"name\":\"tunerBaseBlockId\",\"description\":\"The version number of the original tuner block this version was based on. If this is an original tuner block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerTemplateId\":{\"in\":\"body\",\"name\":\"tunerTemplateId\",\"description\":\"The version number of the original tuner template block this version was based on. If this is an original tuner template block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerPrimary\":{\"in\":\"body\",\"name\":\"tunerPrimary\",\"description\":\"Specifies if this block was copied from a tuner block when a tuner model variant was set as primary model\",\"required\":false,\"type\":\"boolean\"},\"clonedFromBlockId\":{\"in\":\"body\",\"name\":\"clonedFromBlockId\",\"description\":\"ID of block this block version was cloned from\",\"required\":false,\"type\":\"number\"},\"mutated\":{\"in\":\"body\",\"name\":\"mutated\",\"description\":\"Specifies if this block was updated after being cloned/created\",\"required\":false,\"type\":\"boolean\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"Whether is block is enabled. A block is assumed to be enabled when unset.\",\"required\":false,\"type\":\"boolean\"},\"db\":{\"in\":\"body\",\"name\":\"db\",\"description\":\"Whether block is stored in database.\",\"required\":false,\"type\":\"boolean\"},\"description\":{\"in\":\"body\",\"name\":\"description\",\"description\":\"A short description of the block version, displayed in the block versioning UI\",\"required\":false,\"type\":\"string\"},\"createdBy\":{\"in\":\"body\",\"name\":\"createdBy\",\"description\":\"The system component that created the block version (createImpulse | clone | tuner). Cannot be set via API.\",\"required\":false,\"type\":\"string\"},\"createdAt\":{\"in\":\"body\",\"name\":\"createdAt\",\"description\":\"The datetime that the block version was created. Cannot be set via API.\",\"required\":false,\"type\":\"string\"}}}},{\"in\":\"body\",\"name\":\"dspBlocks\",\"description\":\"DSP Blocks that are part of this impulse\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"description\":\"Identifier for this block. Make sure to up this number when creating a new block, and don't re-use identifiers. If the block hasn't changed, keep the ID as-is.\",\"required\":true,\"type\":\"integer\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"description\":\"Block type\",\"required\":true,\"type\":\"string\"},\"name\":{\"in\":\"body\",\"name\":\"name\",\"description\":\"Block name, will be used in menus\",\"required\":true,\"type\":\"string\"},\"axes\":{\"in\":\"body\",\"name\":\"axes\",\"description\":\"Input axes, identified by the name in the name of the axis\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},\"title\":{\"in\":\"body\",\"name\":\"title\",\"description\":\"Block title, used in the impulse UI\",\"required\":true,\"type\":\"string\"},\"valuesPerAxis\":{\"in\":\"body\",\"name\":\"valuesPerAxis\",\"description\":\"Number of features this DSP block outputs per axis. This is only set when the DSP block is configured.\",\"required\":false,\"type\":\"integer\"},\"input\":{\"in\":\"body\",\"name\":\"input\",\"description\":\"The ID of the Input block a DSP block is connected to\",\"required\":false,\"type\":\"number\"},\"primaryVersion\":{\"in\":\"body\",\"name\":\"primaryVersion\",\"description\":\"Whether this block is the primary version of its base block.\",\"required\":true,\"type\":\"boolean\"},\"baseBlockId\":{\"in\":\"body\",\"name\":\"baseBlockId\",\"description\":\"The version number of the original block this version was based on. If this is an original block, will be undefined.\",\"required\":false,\"type\":\"number\"},\"tunerBaseBlockId\":{\"in\":\"body\",\"name\":\"tunerBaseBlockId\",\"description\":\"The version number of the original tuner block this version was based on. If this is an original tuner block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerTemplateId\":{\"in\":\"body\",\"name\":\"tunerTemplateId\",\"description\":\"The version number of the original tuner template block this version was based on. If this is an original tuner template block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerPrimary\":{\"in\":\"body\",\"name\":\"tunerPrimary\",\"description\":\"Specifies if this block was copied from a tuner block when a tuner model variant was set as primary model\",\"required\":false,\"type\":\"boolean\"},\"clonedFromBlockId\":{\"in\":\"body\",\"name\":\"clonedFromBlockId\",\"description\":\"ID of block this block version was cloned from\",\"required\":false,\"type\":\"number\"},\"mutated\":{\"in\":\"body\",\"name\":\"mutated\",\"description\":\"Specifies if this block was updated after being cloned/created\",\"required\":false,\"type\":\"boolean\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"Whether is block is enabled. A block is assumed to be enabled when unset.\",\"required\":false,\"type\":\"boolean\"},\"db\":{\"in\":\"body\",\"name\":\"db\",\"description\":\"Whether block is stored in database.\",\"required\":false,\"type\":\"boolean\"},\"description\":{\"in\":\"body\",\"name\":\"description\",\"description\":\"A short description of the block version, displayed in the block versioning UI\",\"required\":false,\"type\":\"string\"},\"createdBy\":{\"in\":\"body\",\"name\":\"createdBy\",\"description\":\"The system component that created the block version (createImpulse | clone | tuner). Cannot be set via API.\",\"required\":false,\"type\":\"string\"},\"createdAt\":{\"in\":\"body\",\"name\":\"createdAt\",\"description\":\"The datetime that the block version was created. Cannot be set via API.\",\"required\":false,\"type\":\"string\"},\"implementationVersion\":{\"in\":\"body\",\"name\":\"implementationVersion\",\"description\":\"Implementation version of the block\",\"required\":true,\"type\":\"integer\"},\"organization\":{\"in\":\"body\",\"name\":\"organization\",\"required\":false,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"integer\"},\"dspId\":{\"in\":\"body\",\"name\":\"dspId\",\"required\":true,\"type\":\"integer\"}}}}}},{\"in\":\"body\",\"name\":\"learnBlocks\",\"description\":\"Learning Blocks that are part of this impulse\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"description\":\"Identifier for this block. Make sure to up this number when creating a new block, and don't re-use identifiers. If the block hasn't changed, keep the ID as-is.\",\"required\":true,\"type\":\"integer\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"description\":\"The type of learning block (anomaly, keras, keras-transfer-image, keras-transfer-kws, keras-object-detection, keras-regression). Each behaves differently.\",\"required\":true,\"type\":\"string\"},\"name\":{\"in\":\"body\",\"name\":\"name\",\"description\":\"Block name, will be used in menus. If a block has a baseBlockId, this field is ignored and the base block's name is used instead.\",\"required\":true,\"type\":\"string\"},\"dsp\":{\"in\":\"body\",\"name\":\"dsp\",\"description\":\"DSP dependencies, identified by DSP block ID\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},\"title\":{\"in\":\"body\",\"name\":\"title\",\"description\":\"Block title, used in the impulse UI\",\"required\":true,\"type\":\"string\"},\"primaryVersion\":{\"in\":\"body\",\"name\":\"primaryVersion\",\"description\":\"Whether this block is the primary version of its base block.\",\"required\":true,\"type\":\"boolean\"},\"baseBlockId\":{\"in\":\"body\",\"name\":\"baseBlockId\",\"description\":\"The version number of the original block this version was based on. If this is an original block, will be undefined.\",\"required\":false,\"type\":\"number\"},\"tunerBaseBlockId\":{\"in\":\"body\",\"name\":\"tunerBaseBlockId\",\"description\":\"The version number of the original tuner block this version was based on. If this is an original tuner block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerTemplateId\":{\"in\":\"body\",\"name\":\"tunerTemplateId\",\"description\":\"The version number of the original tuner template block this version was based on. If this is an original tuner template block, will be undefined\",\"required\":false,\"type\":\"number\"},\"tunerPrimary\":{\"in\":\"body\",\"name\":\"tunerPrimary\",\"description\":\"Specifies if this block was copied from a tuner block when a tuner model variant was set as primary model\",\"required\":false,\"type\":\"boolean\"},\"clonedFromBlockId\":{\"in\":\"body\",\"name\":\"clonedFromBlockId\",\"description\":\"ID of block this block version was cloned from\",\"required\":false,\"type\":\"number\"},\"mutated\":{\"in\":\"body\",\"name\":\"mutated\",\"description\":\"Specifies if this block was updated after being cloned/created\",\"required\":false,\"type\":\"boolean\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"Whether is block is enabled. A block is assumed to be enabled when unset.\",\"required\":false,\"type\":\"boolean\"},\"db\":{\"in\":\"body\",\"name\":\"db\",\"description\":\"Whether block is stored in database.\",\"required\":false,\"type\":\"boolean\"},\"description\":{\"in\":\"body\",\"name\":\"description\",\"description\":\"A short description of the block version, displayed in the block versioning UI\",\"required\":false,\"type\":\"string\"},\"createdBy\":{\"in\":\"body\",\"name\":\"createdBy\",\"description\":\"The system component that created the block version (createImpulse | clone | tuner). Cannot be set via API.\",\"required\":false,\"type\":\"string\"},\"createdAt\":{\"in\":\"body\",\"name\":\"createdAt\",\"description\":\"The datetime that the block version was created. Cannot be set via API.\",\"required\":false,\"type\":\"string\"}}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete impulse\",\"description\":\"Completely clears the impulse for this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/impulse/all\":{\"get\":{\"summary\":\"Get impulse including disabled blocks\",\"description\":\"Retrieve the impulse for this project including disabled blocks\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/impulse/block-versions/{blockType}/{blockId}\":{\"post\":{\"summary\":\"Create new block version\",\"description\":\"Create a new version of a given block\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"blockType\",\"description\":\"Type of block\",\"required\":true,\"type\":\"string\"},{\"in\":\"path\",\"name\":\"blockId\",\"description\":\"Block ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"put\":{\"summary\":\"Update block version details\",\"description\":\"Update the details of a block version\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"blockType\",\"description\":\"Type of block\",\"required\":true,\"type\":\"string\"},{\"in\":\"path\",\"name\":\"blockId\",\"description\":\"Block ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"id\",\"description\":\"Identifier for the new block version. Make sure to up this number when creating a new block, and don't re-use identifiers.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"primaryVersion\",\"description\":\"Whether this block is the primary version of its base block.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Block name, will be used in menus. If a block has a baseBlockId, this field is ignored and the base block's name is used instead.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"description\":\"A short description of the block version, displayed in the block versioning UI\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dsp\",\"description\":\"(Learn only) DSP dependencies, identified by DSP block ID\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},{\"in\":\"body\",\"name\":\"axes\",\"description\":\"(DSP only) Input axes, identified by the name in the name of the axis\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"input\",\"description\":\"(DSP only) The ID of the Input block a DSP block is connected to\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"windowSizeMs\",\"description\":\"(Input only) Size of the sliding window in milliseconds\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"windowIncreaseMs\",\"description\":\"(Input only) We use a sliding window to go over the raw data. How many milliseconds to increase the sliding window with for each step.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"frequencyHz\",\"description\":\"(Input only) Frequency of the input data in Hz\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"classificationWindowIncreaseMs\",\"description\":\"(Input only) We use a sliding window to go over the raw data. How many milliseconds to increase the sliding window with for each step in classification mode.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"padZeros\",\"description\":\"(Input only) Whether to zero pad data when there is not enough data.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"imageWidth\",\"description\":\"(Input only) Width all images are resized to before training\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"imageHeight\",\"description\":\"(Input only) Width all images are resized to before training\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"resizeMode\",\"description\":\"(Input only) How to resize images before training\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"resizeMethod\",\"description\":\"(Input only) Resize method to use when resizing images\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"cropAnchor\",\"description\":\"(Input only) If images are resized using a crop, choose where to anchor the crop\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/impulse/blocks\":{\"get\":{\"summary\":\"Get impulse blocks\",\"description\":\"Lists all possible blocks that can be used in the impulse\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/verify-dsp-block/url\":{\"post\":{\"summary\":\"Verify custom DSP block\",\"description\":\"Verify the validity of a custom DSP block\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"url\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}\":{\"get\":{\"summary\":\"Get config\",\"description\":\"Retrieve the configuration parameters for the DSP block. Use the impulse functions to retrieve all DSP blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Set config\",\"description\":\"Set configuration parameters for the DSP block. Only values set in the body will be overwritten.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"config\",\"required\":true,\"type\":\"object\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/dsp/{dspId}/metadata\":{\"get\":{\"summary\":\"Get metadata\",\"description\":\"Retrieve the metadata from a generated DSP block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}\":{\"get\":{\"summary\":\"Get raw sample\",\"description\":\"Get raw sample data, but with only the axes selected by the DSP block. E.g. if you have selected only accX and accY as inputs for the DSP block, but the raw sample also contains accZ, accZ is filtered out. If you pass dspId = 0 this will return a raw graph without any processing.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limitPayloadValues\",\"description\":\"Limit the number of payload values in the response\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice\":{\"get\":{\"summary\":\"Get raw sample (slice)\",\"description\":\"Get slice of raw sample data, but with only the axes selected by the DSP block. E.g. if you have selected only accX and accY as inputs for the DSP block, but the raw sample also contains accZ, accZ is filtered out.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceStart\",\"description\":\"Begin index of the slice\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceEnd\",\"description\":\"End index of the slice\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice/run\":{\"post\":{\"summary\":\"Get processed sample (slice)\",\"description\":\"Get slice of sample data, and run it through the DSP block. This only the axes selected by the DSP block. E.g. if you have selected only accX and accY as inputs for the DSP block, but the raw sample also contains accZ, accZ is filtered out.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceStart\",\"description\":\"Begin index of the slice\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceEnd\",\"description\":\"End index of the slice\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"params\",\"description\":\"DSP parameters with values\",\"required\":true,\"type\":\"object\"},{\"in\":\"body\",\"name\":\"store\",\"description\":\"Whether to store the DSP parameters as the new default parameters.\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/raw-data/{sampleId}/slice/run/readonly\":{\"get\":{\"summary\":\"Get processed sample (slice)\",\"description\":\"Get slice of sample data, and run it through the DSP block. This only the axes selected by the DSP block. E.g. if you have selected only accX and accY as inputs for the DSP block, but the raw sample also contains accZ, accZ is filtered out.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceStart\",\"description\":\"Begin index of the slice\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"sliceEnd\",\"description\":\"End index of the slice\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/features/labels\":{\"get\":{\"summary\":\"Feature labels\",\"description\":\"Retrieve the names of the features the DSP block generates\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/features/get-graph/{category}\":{\"get\":{\"summary\":\"Sample of trained features\",\"description\":\"Get a sample of trained features, this extracts a number of samples and their labels. Used to visualize the current training set.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"featureAx1\",\"description\":\"Feature axis 1\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"featureAx2\",\"description\":\"Feature axis 2\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"featureAx3\",\"description\":\"Feature axis 3\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to download data from\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/features/get-graph/classification/{sampleId}\":{\"get\":{\"summary\":\"Features for sample\",\"description\":\"Runs the DSP block against a sample. This will move the sliding window (dependent on the sliding window length and the sliding window increase parameters in the impulse) over the complete file, and run the DSP function for every window that is extracted.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp/{dspId}/features/importance\":{\"get\":{\"summary\":\"Feature importance\",\"description\":\"Retrieve the feature importance for a DSP block (only available for blocks where dimensionalityReduction is not enabled)\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/dsp-data/{dspId}/x/{category}\":{\"get\":{\"summary\":\"Download DSP data\",\"description\":\"Download output from a DSP block over all data in the training set, already sliced in windows. In Numpy binary format.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to download data from\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"raw\",\"description\":\"Whether to download raw data or processed data. Processed data is the default.\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Numpy binary file\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/dsp-data/{dspId}/y/{category}\":{\"get\":{\"summary\":\"Download DSP labels\",\"description\":\"Download labels for a DSP block over all data in the training set, already sliced in windows.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"category\",\"description\":\"Which of the three acquisition categories to download data from\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Numpy binary file\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/training/{learnId}/x\":{\"get\":{\"summary\":\"Download data\",\"description\":\"Download the processed data for this learning block. This is data already processed by the signal processing blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Numpy binary file\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/training/{learnId}/y\":{\"get\":{\"summary\":\"Download labels\",\"description\":\"Download the labels for this learning block. This is data already processed by the signal processing blocks. Not all blocks support this function. If so, a GenericApiResponse is returned with an error message.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Numpy binary file\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/training/anomaly/{learnId}\":{\"get\":{\"summary\":\"Anomaly information\",\"description\":\"Get information about an anomaly block, such as its dependencies. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Anomaly settings\",\"description\":\"Configure the anomaly block, such as its minimum confidence score. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"minimumConfidenceRating\",\"description\":\"Minimum confidence score, if the anomaly block scores a sample above this threshold it will be flagged as anomaly.\",\"required\":false,\"type\":\"number\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/training/anomaly/{learnId}/metadata\":{\"get\":{\"summary\":\"Anomaly metadata\",\"description\":\"Get metadata about a trained anomaly block. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/training/keras/{learnId}\":{\"get\":{\"summary\":\"Keras information\",\"description\":\"Get information about a Keras block, such as its dependencies. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Keras settings\",\"description\":\"Configure the Keras block, such as its minimum confidence score. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"mode\",\"description\":\"Whether to use visual or expert mode.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"minimumConfidenceRating\",\"description\":\"Minimum confidence score, if the neural network scores a sample below this threshold it will be flagged as uncertain.\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"selectedModelType\",\"description\":\"The model type to select, as described in the model metadata call.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"script\",\"description\":\"Raw Keras script (only used in expert mode)\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"visualLayers\",\"description\":\"The visual layers for the neural network (only in visual mode).\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"neurons\":{\"in\":\"body\",\"name\":\"neurons\",\"description\":\"Number of neurons or filters in this layer (only for dense, conv1d, conv2d) or in the final conv2d layer (only for transfer layers)\",\"required\":false,\"type\":\"integer\"},\"kernelSize\":{\"in\":\"body\",\"name\":\"kernelSize\",\"description\":\"Kernel size for the convolutional layers (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"dropoutRate\":{\"in\":\"body\",\"name\":\"dropoutRate\",\"description\":\"Fraction of input units to drop (only for dropout) or in the final layer dropout (only for transfer layers)\",\"required\":false,\"type\":\"number\"},\"columns\":{\"in\":\"body\",\"name\":\"columns\",\"description\":\"Number of columns for the reshape operation (only for reshape)\",\"required\":false,\"type\":\"integer\"},\"stack\":{\"in\":\"body\",\"name\":\"stack\",\"description\":\"Number of convolutional layers before the pooling layer (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"required\":false,\"type\":\"boolean\"},\"organizationModelId\":{\"in\":\"body\",\"name\":\"organizationModelId\",\"description\":\"Custom transfer learning model ID (when type is set to transfer_organization)\",\"required\":false,\"type\":\"integer\"}}}},{\"in\":\"body\",\"name\":\"trainingCycles\",\"description\":\"Number of training cycles (only in visual mode).\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"learningRate\",\"description\":\"Learning rate (between 0 and 1) (only in visual mode).\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"trainTestSplit\",\"description\":\"Train/test split (between 0 and 1)\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"autoClassWeights\",\"description\":\"Whether to automatically balance class weights, use this for skewed datasets.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"findLearningRate\",\"description\":\"Automatically select the optimal learning rate for your data set.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"augmentationPolicyImage\",\"description\":\"The data augmentation policy to use with image input\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"augmentationPolicySpectrogram\",\"required\":false,\"type\":\"object\",\"properties\":{\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"True if spectrogram augmentation is enabled. Other properties will be ignored if this is false.\",\"required\":true,\"type\":\"boolean\"},\"warping\":{\"in\":\"body\",\"name\":\"warping\",\"description\":\"True if warping along the time axis is enabled.\",\"required\":false,\"type\":\"boolean\"},\"freqMasking\":{\"in\":\"body\",\"name\":\"freqMasking\",\"description\":\"The amount of frequency masking to apply.\",\"required\":false,\"type\":\"string\"},\"timeMasking\":{\"in\":\"body\",\"name\":\"timeMasking\",\"description\":\"The amount of time masking to apply.\",\"required\":false,\"type\":\"string\"},\"gaussianNoise\":{\"in\":\"body\",\"name\":\"gaussianNoise\",\"description\":\"The amount of Gaussian noise to add.\",\"required\":false,\"type\":\"string\"}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/training/keras/{learnId}/metadata\":{\"get\":{\"summary\":\"Keras metadata\",\"description\":\"Get metadata about a trained Keras block. Use the impulse blocks to find the learnId.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/training/keras/{learnId}/data-explorer/features\":{\"get\":{\"summary\":\"Get data explorer features\",\"description\":\"t-SNE2 output of the raw dataset using embeddings from this Keras block\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/training/keras/{learnId}/files\":{\"post\":{\"summary\":\"Upload Keras files\",\"description\":\"Replace Keras block files with the contents of a zip. This is an internal API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"zip\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/training/keras/{learnId}/ipynb\":{\"get\":{\"summary\":\"iPython Notebook\",\"description\":\"Export the neural network architecture as an iPython notebook.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{\"application/x-ipynb+json\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/learn-data/{learnId}/model/{modelDownloadId}\":{\"get\":{\"summary\":\"Download trained model\",\"description\":\"Download a trained model for a learning block. Depending on the block this can be a TensorFlow model, or the cluster centroids.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"modelDownloadId\",\"description\":\"Model download ID, which can be obtained from the project information\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/training/anomaly/{learnId}/features/get-graph\":{\"get\":{\"summary\":\"Trained features\",\"description\":\"Get a sample of trained features, this extracts a number of samples and their features.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"featureAx1\",\"description\":\"Feature axis 1\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"featureAx2\",\"description\":\"Feature axis 2\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/training/anomaly/{learnId}/features/get-graph/classification/{sampleId}\":{\"get\":{\"summary\":\"Trained features for sample\",\"description\":\"Get trained features for a single sample. This runs both the DSP prerequisites and the anomaly classifier.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/classify/{sampleId}\":{\"get\":{\"summary\":\"Classify sample\",\"description\":\"Classify a complete file against the current impulse. This will move the sliding window (dependent on the sliding window length and the sliding window increase parameters in the impulse) over the complete file, and classify for every window that is extracted.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"sampleId\",\"description\":\"Sample ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/classify/all/result\":{\"get\":{\"summary\":\"Classify job result\",\"description\":\"Get classify job result, containing the result for the complete testing dataset.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/performance-calibration/status\":{\"get\":{\"summary\":\"Get status\",\"description\":\"Get performance calibration status\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/performance-calibration/ground-truth\":{\"get\":{\"summary\":\"Get ground truth\",\"description\":\"Get performance calibration ground truth data\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/performance-calibration/raw-result\":{\"get\":{\"summary\":\"Get raw result\",\"description\":\"Get performance calibration raw result\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{}}]}},\"/api/{projectId}/performance-calibration/parameter-sets\":{\"get\":{\"summary\":\"Get parameter sets\",\"description\":\"Get performance calibration parameter sets\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{}}]}},\"/api/{projectId}/performance-calibration/parameters\":{\"get\":{\"summary\":\"Get parameters\",\"description\":\"Get performance calibration stored parameters\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Save performance calibration parameters\",\"description\":\"Set the current performance calibration parameters\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"params\",\"required\":true,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"description\":\"The post-processing algorithm type.\",\"required\":true,\"type\":\"string\"},\"version\":{\"in\":\"body\",\"name\":\"version\",\"description\":\"The version number of the post-processing algorithm.\",\"required\":true,\"type\":\"number\"},\"parametersStandard\":{\"in\":\"body\",\"name\":\"parametersStandard\",\"required\":false,\"type\":\"object\",\"properties\":{\"averageWindowDurationMs\":{\"in\":\"body\",\"name\":\"averageWindowDurationMs\",\"description\":\"The length of the averaging window in milliseconds.\",\"required\":true,\"type\":\"number\"},\"detectionThreshold\":{\"in\":\"body\",\"name\":\"detectionThreshold\",\"description\":\"The minimum threshold for detection, from 0-1.\",\"required\":true,\"type\":\"number\"},\"suppressionMs\":{\"in\":\"body\",\"name\":\"suppressionMs\",\"description\":\"The amount of time new matches will be ignored after a positive result.\",\"required\":true,\"type\":\"number\"}}}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Clear performance calibration parameters\",\"description\":\"Clears the current performance calibration parameters\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/performance-calibration/wav\":{\"get\":{\"summary\":\"Get WAV file\",\"description\":\"Get the synthetic sample as a WAV file\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Wav file\",\"examples\":{\"audio/wav\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/performance-calibration/files\":{\"post\":{\"summary\":\"Upload Performance Calibration Audio files\",\"description\":\"Upload a zip files with a wav file and its Label metadata to run performance calibration on it.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"zip\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment/targets\":{\"get\":{\"summary\":\"Deployment targets\",\"description\":\"List deployment targets for a project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment/targets/data-sources\":{\"get\":{\"summary\":\"Deployment targets (data sources)\",\"description\":\"List deployment targets for a project from data sources page (it shows some things like all Linux deploys, and hides 'fake' deploy targets like mobile phone / computer)\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment/evaluate\":{\"get\":{\"summary\":\"Evaluate job result\",\"description\":\"Get evaluate job result, containing detailed performance statistics for every possible variant of the impulse.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment/evaluate/cache\":{\"get\":{\"summary\":\"Check evaluate job result (cache)\",\"description\":\"Get evaluate job result, containing detailed performance statistics for every possible variant of the impulse. This only checks cache, and throws an error if there is no data in cache.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment\":{\"get\":{\"summary\":\"Get deployment info\",\"description\":\"Gives information on whether a deployment was already built for a type\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"type\",\"description\":\"Output format\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"modelType\",\"description\":\"Optional model type of the build (if not, it uses the settings in the Keras block)\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/deployment/download\":{\"get\":{\"summary\":\"Download\",\"description\":\"Download the build artefacts for a project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"type\",\"description\":\"Output format\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"modelType\",\"description\":\"Optional model type of the build (if not, it uses the settings in the Keras block)\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"ZIP or BIN file\",\"examples\":{\"application/zip\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/{projectId}/deployment/syntiant/posterior\":{\"get\":{\"summary\":\"Get Syntiant posterior parameters\",\"description\":\"Get the current posterior parameters for the Syntiant deployment target\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Set Syntiant posterior parameters\",\"description\":\"Set the current posterior parameters for the Syntiant deployment target\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"parameters\",\"required\":true,\"type\":\"object\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/jobs/find-syntiant-posterior\":{\"post\":{\"summary\":\"Find Syntiant posterior parameters\",\"description\":\"Automatically find the current posterior parameters for the Syntiant deployment target\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"targetWords\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"referenceSet\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"wavFile\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"metaCsvFile\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/data-explorer-features\":{\"post\":{\"summary\":\"Generate data explorer features\",\"description\":\"Generate features for the data explorer\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/optimize/config\":{\"get\":{\"summary\":\"Get config\",\"description\":\"Get config\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update config\",\"description\":\"Update config\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"datasetCategory\",\"description\":\"Dataset category\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"classificationType\",\"description\":\"Classification type\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"targetLatency\",\"description\":\"Target latency in MS\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"targetDevice\",\"description\":\"Target device\",\"required\":false,\"type\":\"object\",\"properties\":{\"name\":{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},\"ram\":{\"in\":\"body\",\"name\":\"ram\",\"required\":false,\"type\":\"number\"},\"rom\":{\"in\":\"body\",\"name\":\"rom\",\"required\":false,\"type\":\"number\"}}},{\"in\":\"body\",\"name\":\"compiler\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"precision\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"trainingCycles\",\"description\":\"Maximum number of training cycles\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"tuningMaxTrials\",\"description\":\"Maximum number of trials\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"tuningWorkers\",\"description\":\"Maximum number of parallel workers/jobs\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"minMACCS\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"maxMACCS\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"tuningAlgorithm\",\"description\":\"Tuning algorithm to use to search hyperparameter space\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"notificationOnCompletion\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"tunerSpaceOptions\",\"required\":false,\"type\":\"object\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/optimize/score-trial\":{\"post\":{\"summary\":\"Score trial\",\"description\":\"Score trial\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"id\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"experiment\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"original_trial_id\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"inputBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"dimension\":{\"in\":\"body\",\"name\":\"dimension\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}},\"windowSizeMs\":{\"in\":\"body\",\"name\":\"windowSizeMs\",\"required\":false,\"type\":\"number\"},\"windowIncreasePct\":{\"in\":\"body\",\"name\":\"windowIncreasePct\",\"required\":false,\"type\":\"number\"},\"window\":{\"in\":\"body\",\"name\":\"window\",\"required\":false,\"type\":\"object\",\"properties\":{\"windowSizeMs\":{\"in\":\"body\",\"name\":\"windowSizeMs\",\"required\":false,\"type\":\"number\"},\"windowIncreaseMs\":{\"in\":\"body\",\"name\":\"windowIncreaseMs\",\"required\":false,\"type\":\"number\"}}},\"frequencyHz\":{\"in\":\"body\",\"name\":\"frequencyHz\",\"required\":false,\"type\":\"number\"}}},{\"in\":\"body\",\"name\":\"dspBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"implementationVersion\":{\"in\":\"body\",\"name\":\"implementationVersion\",\"required\":false,\"type\":\"number\"},\"channels\":{\"in\":\"body\",\"name\":\"channels\",\"required\":false,\"type\":\"string\"},\"axes\":{\"in\":\"body\",\"name\":\"axes\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},\"frameLength\":{\"in\":\"body\",\"name\":\"frameLength\",\"required\":false,\"type\":\"number\"},\"numFilters\":{\"in\":\"body\",\"name\":\"numFilters\",\"required\":false,\"type\":\"number\"},\"noiseFloorDb\":{\"in\":\"body\",\"name\":\"noiseFloorDb\",\"required\":false,\"type\":\"number\"},\"fftLength\":{\"in\":\"body\",\"name\":\"fftLength\",\"required\":false,\"type\":\"number\"},\"frameStridePct\":{\"in\":\"body\",\"name\":\"frameStridePct\",\"required\":false,\"type\":\"number\"}}},{\"in\":\"body\",\"name\":\"learnBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"augmentationPolicyImage\":{\"in\":\"body\",\"name\":\"augmentationPolicyImage\",\"required\":false,\"type\":\"string\"},\"augmentationPolicySpectrogram\":{\"in\":\"body\",\"name\":\"augmentationPolicySpectrogram\",\"required\":false,\"type\":\"object\"},\"learningRate\":{\"in\":\"body\",\"name\":\"learningRate\",\"required\":false,\"type\":\"number\"},\"trainingCycles\":{\"in\":\"body\",\"name\":\"trainingCycles\",\"required\":false,\"type\":\"number\"},\"model\":{\"in\":\"body\",\"name\":\"model\",\"required\":false,\"type\":\"string\"},\"dimension\":{\"in\":\"body\",\"name\":\"dimension\",\"required\":false,\"type\":\"string\"},\"convBaseFilters\":{\"in\":\"body\",\"name\":\"convBaseFilters\",\"required\":false,\"type\":\"number\"},\"convLayers\":{\"in\":\"body\",\"name\":\"convLayers\",\"required\":false,\"type\":\"number\"},\"dropout\":{\"in\":\"body\",\"name\":\"dropout\",\"required\":false,\"type\":\"number\"},\"denseNeurons\":{\"in\":\"body\",\"name\":\"denseNeurons\",\"required\":false,\"type\":\"number\"},\"denseBaseNeurons\":{\"in\":\"body\",\"name\":\"denseBaseNeurons\",\"required\":false,\"type\":\"number\"},\"denseLayers\":{\"in\":\"body\",\"name\":\"denseLayers\",\"required\":false,\"type\":\"number\"},\"script\":{\"in\":\"body\",\"name\":\"script\",\"required\":false,\"type\":\"string\"},\"scriptVariables\":{\"in\":\"body\",\"name\":\"scriptVariables\",\"required\":false,\"type\":\"object\"},\"mode\":{\"in\":\"body\",\"name\":\"mode\",\"required\":false,\"type\":\"string\"},\"trainTestSplit\":{\"in\":\"body\",\"name\":\"trainTestSplit\",\"required\":false,\"type\":\"number\"},\"findLearningRate\":{\"in\":\"body\",\"name\":\"findLearningRate\",\"required\":false,\"type\":\"boolean\"}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/optimize/{jobId}/create-trial\":{\"post\":{\"summary\":\"Create trial\",\"description\":\"Create trial\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"id\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"experiment\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"original_trial_id\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"inputBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"dimension\":{\"in\":\"body\",\"name\":\"dimension\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}},\"windowSizeMs\":{\"in\":\"body\",\"name\":\"windowSizeMs\",\"required\":false,\"type\":\"number\"},\"windowIncreasePct\":{\"in\":\"body\",\"name\":\"windowIncreasePct\",\"required\":false,\"type\":\"number\"},\"window\":{\"in\":\"body\",\"name\":\"window\",\"required\":false,\"type\":\"object\",\"properties\":{\"windowSizeMs\":{\"in\":\"body\",\"name\":\"windowSizeMs\",\"required\":false,\"type\":\"number\"},\"windowIncreaseMs\":{\"in\":\"body\",\"name\":\"windowIncreaseMs\",\"required\":false,\"type\":\"number\"}}},\"frequencyHz\":{\"in\":\"body\",\"name\":\"frequencyHz\",\"required\":false,\"type\":\"number\"}}},{\"in\":\"body\",\"name\":\"dspBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"implementationVersion\":{\"in\":\"body\",\"name\":\"implementationVersion\",\"required\":false,\"type\":\"number\"},\"channels\":{\"in\":\"body\",\"name\":\"channels\",\"required\":false,\"type\":\"string\"},\"axes\":{\"in\":\"body\",\"name\":\"axes\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},\"frameLength\":{\"in\":\"body\",\"name\":\"frameLength\",\"required\":false,\"type\":\"number\"},\"numFilters\":{\"in\":\"body\",\"name\":\"numFilters\",\"required\":false,\"type\":\"number\"},\"noiseFloorDb\":{\"in\":\"body\",\"name\":\"noiseFloorDb\",\"required\":false,\"type\":\"number\"},\"fftLength\":{\"in\":\"body\",\"name\":\"fftLength\",\"required\":false,\"type\":\"number\"},\"frameStridePct\":{\"in\":\"body\",\"name\":\"frameStridePct\",\"required\":false,\"type\":\"number\"}}},{\"in\":\"body\",\"name\":\"learnBlock\",\"required\":true,\"type\":\"object\",\"properties\":{\"id\":{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"number\"},\"title\":{\"in\":\"body\",\"name\":\"title\",\"required\":false,\"type\":\"string\"},\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"augmentationPolicyImage\":{\"in\":\"body\",\"name\":\"augmentationPolicyImage\",\"required\":false,\"type\":\"string\"},\"augmentationPolicySpectrogram\":{\"in\":\"body\",\"name\":\"augmentationPolicySpectrogram\",\"required\":false,\"type\":\"object\"},\"learningRate\":{\"in\":\"body\",\"name\":\"learningRate\",\"required\":false,\"type\":\"number\"},\"trainingCycles\":{\"in\":\"body\",\"name\":\"trainingCycles\",\"required\":false,\"type\":\"number\"},\"model\":{\"in\":\"body\",\"name\":\"model\",\"required\":false,\"type\":\"string\"},\"dimension\":{\"in\":\"body\",\"name\":\"dimension\",\"required\":false,\"type\":\"string\"},\"convBaseFilters\":{\"in\":\"body\",\"name\":\"convBaseFilters\",\"required\":false,\"type\":\"number\"},\"convLayers\":{\"in\":\"body\",\"name\":\"convLayers\",\"required\":false,\"type\":\"number\"},\"dropout\":{\"in\":\"body\",\"name\":\"dropout\",\"required\":false,\"type\":\"number\"},\"denseNeurons\":{\"in\":\"body\",\"name\":\"denseNeurons\",\"required\":false,\"type\":\"number\"},\"denseBaseNeurons\":{\"in\":\"body\",\"name\":\"denseBaseNeurons\",\"required\":false,\"type\":\"number\"},\"denseLayers\":{\"in\":\"body\",\"name\":\"denseLayers\",\"required\":false,\"type\":\"number\"},\"script\":{\"in\":\"body\",\"name\":\"script\",\"required\":false,\"type\":\"string\"},\"scriptVariables\":{\"in\":\"body\",\"name\":\"scriptVariables\",\"required\":false,\"type\":\"object\"},\"mode\":{\"in\":\"body\",\"name\":\"mode\",\"required\":false,\"type\":\"string\"},\"trainTestSplit\":{\"in\":\"body\",\"name\":\"trainTestSplit\",\"required\":false,\"type\":\"number\"},\"findLearningRate\":{\"in\":\"body\",\"name\":\"findLearningRate\",\"required\":false,\"type\":\"boolean\"}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/optimize/space\":{\"get\":{\"summary\":\"Search space\",\"description\":\"Search space\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update search space\",\"description\":\"Update search space\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/optimize/state\":{\"get\":{\"summary\":\"Retrieves the EON tuner state\",\"description\":\"Retrieves the EON tuner state\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Current EON tuner state\",\"examples\":{}}]}},\"/api/{projectId}/jobs/optimize\":{\"post\":{\"summary\":\"Optimize model\",\"description\":\"Evaluates optimal model architecture\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"mode\",\"description\":\"Whether to use visual or expert mode.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"minimumConfidenceRating\",\"description\":\"Minimum confidence score, if the neural network scores a sample below this threshold it will be flagged as uncertain.\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"selectedModelType\",\"description\":\"The model type to select, as described in the model metadata call.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"script\",\"description\":\"Raw Keras script (only used in expert mode)\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"visualLayers\",\"description\":\"The visual layers for the neural network (only in visual mode).\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"neurons\":{\"in\":\"body\",\"name\":\"neurons\",\"description\":\"Number of neurons or filters in this layer (only for dense, conv1d, conv2d) or in the final conv2d layer (only for transfer layers)\",\"required\":false,\"type\":\"integer\"},\"kernelSize\":{\"in\":\"body\",\"name\":\"kernelSize\",\"description\":\"Kernel size for the convolutional layers (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"dropoutRate\":{\"in\":\"body\",\"name\":\"dropoutRate\",\"description\":\"Fraction of input units to drop (only for dropout) or in the final layer dropout (only for transfer layers)\",\"required\":false,\"type\":\"number\"},\"columns\":{\"in\":\"body\",\"name\":\"columns\",\"description\":\"Number of columns for the reshape operation (only for reshape)\",\"required\":false,\"type\":\"integer\"},\"stack\":{\"in\":\"body\",\"name\":\"stack\",\"description\":\"Number of convolutional layers before the pooling layer (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"required\":false,\"type\":\"boolean\"},\"organizationModelId\":{\"in\":\"body\",\"name\":\"organizationModelId\",\"description\":\"Custom transfer learning model ID (when type is set to transfer_organization)\",\"required\":false,\"type\":\"integer\"}}}},{\"in\":\"body\",\"name\":\"trainingCycles\",\"description\":\"Number of training cycles (only in visual mode).\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"learningRate\",\"description\":\"Learning rate (between 0 and 1) (only in visual mode).\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"trainTestSplit\",\"description\":\"Train/test split (between 0 and 1)\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"autoClassWeights\",\"description\":\"Whether to automatically balance class weights, use this for skewed datasets.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"findLearningRate\",\"description\":\"Automatically select the optimal learning rate for your data set.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"augmentationPolicyImage\",\"description\":\"The data augmentation policy to use with image input\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"augmentationPolicySpectrogram\",\"required\":false,\"type\":\"object\",\"properties\":{\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"True if spectrogram augmentation is enabled. Other properties will be ignored if this is false.\",\"required\":true,\"type\":\"boolean\"},\"warping\":{\"in\":\"body\",\"name\":\"warping\",\"description\":\"True if warping along the time axis is enabled.\",\"required\":false,\"type\":\"boolean\"},\"freqMasking\":{\"in\":\"body\",\"name\":\"freqMasking\",\"description\":\"The amount of frequency masking to apply.\",\"required\":false,\"type\":\"string\"},\"timeMasking\":{\"in\":\"body\",\"name\":\"timeMasking\",\"description\":\"The amount of time masking to apply.\",\"required\":false,\"type\":\"string\"},\"gaussianNoise\":{\"in\":\"body\",\"name\":\"gaussianNoise\",\"description\":\"The amount of Gaussian noise to add.\",\"required\":false,\"type\":\"string\"}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/set-tuner-primary-job\":{\"post\":{\"summary\":\"Sets EON tuner primary model\",\"description\":\"Sets EON tuner primary model\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"trialId\",\"description\":\"trial ID\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/optimize/trial/{trialId}/stdout\":{\"get\":{\"summary\":\"Get trial logs\",\"description\":\"Get the logs for a trial.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"trialId\",\"description\":\"trial ID\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/export/get-url\":{\"get\":{\"summary\":\"Get URL of export\",\"description\":\"Get the URL to the exported artefacts for an export job of a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs\":{\"get\":{\"summary\":\"List active jobs\",\"description\":\"Get all active jobs for this project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/history\":{\"get\":{\"summary\":\"List finished jobs\",\"description\":\"Get all finished jobs for this project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"startDate\",\"description\":\"Start date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"endDate\",\"description\":\"End date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/all\":{\"get\":{\"summary\":\"List all jobs\",\"description\":\"Get all jobs for this project\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"startDate\",\"description\":\"Start date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"endDate\",\"description\":\"End date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/summary\":{\"get\":{\"summary\":\"Job summary\",\"description\":\"Get a summary of jobs, grouped by key. Used to report to users how much compute they've used.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"startDate\",\"description\":\"Start date\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"endDate\",\"description\":\"End date\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/{jobId}/update\":{\"post\":{\"summary\":\"Update job\",\"description\":\"Update a job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"jobNotificationUids\",\"description\":\"The IDs of users who should be notified when a job is finished.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/jobs/{jobId}/status\":{\"get\":{\"summary\":\"Get job status\",\"description\":\"Get the status for a job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/{jobId}/stdout\":{\"get\":{\"summary\":\"Get logs\",\"description\":\"Get the logs for a job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/{jobId}/stdout/download\":{\"get\":{\"summary\":\"Download logs\",\"description\":\"Download the logs for a job (as a text file).\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"text/plain\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\"}}]}},\"/api/{projectId}/jobs/{jobId}/cancel\":{\"post\":{\"summary\":\"Cancel job\",\"description\":\"Cancel a running job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"forceCancel\",\"description\":\"If set to 'true', we won't wait for the job cluster to cancel the job, and will mark the job as finished.\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/jobs/generate-features\":{\"post\":{\"summary\":\"Generate features\",\"description\":\"Take the raw training set and generate features from them. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"dspId\",\"description\":\"DSP block ID to generate features for\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"calculateFeatureImportance\",\"description\":\"Whether to generate feature importance (only when available)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/train/keras/{learnId}\":{\"post\":{\"summary\":\"Train model (Keras)\",\"description\":\"Take the output from a DSP block and train a neural network using Keras. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"mode\",\"description\":\"Whether to use visual or expert mode.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"minimumConfidenceRating\",\"description\":\"Minimum confidence score, if the neural network scores a sample below this threshold it will be flagged as uncertain.\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"selectedModelType\",\"description\":\"The model type to select, as described in the model metadata call.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"script\",\"description\":\"Raw Keras script (only used in expert mode)\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"visualLayers\",\"description\":\"The visual layers for the neural network (only in visual mode).\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"neurons\":{\"in\":\"body\",\"name\":\"neurons\",\"description\":\"Number of neurons or filters in this layer (only for dense, conv1d, conv2d) or in the final conv2d layer (only for transfer layers)\",\"required\":false,\"type\":\"integer\"},\"kernelSize\":{\"in\":\"body\",\"name\":\"kernelSize\",\"description\":\"Kernel size for the convolutional layers (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"dropoutRate\":{\"in\":\"body\",\"name\":\"dropoutRate\",\"description\":\"Fraction of input units to drop (only for dropout) or in the final layer dropout (only for transfer layers)\",\"required\":false,\"type\":\"number\"},\"columns\":{\"in\":\"body\",\"name\":\"columns\",\"description\":\"Number of columns for the reshape operation (only for reshape)\",\"required\":false,\"type\":\"integer\"},\"stack\":{\"in\":\"body\",\"name\":\"stack\",\"description\":\"Number of convolutional layers before the pooling layer (only for conv1d, conv2d)\",\"required\":false,\"type\":\"integer\"},\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"required\":false,\"type\":\"boolean\"},\"organizationModelId\":{\"in\":\"body\",\"name\":\"organizationModelId\",\"description\":\"Custom transfer learning model ID (when type is set to transfer_organization)\",\"required\":false,\"type\":\"integer\"}}}},{\"in\":\"body\",\"name\":\"trainingCycles\",\"description\":\"Number of training cycles (only in visual mode).\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"learningRate\",\"description\":\"Learning rate (between 0 and 1) (only in visual mode).\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"trainTestSplit\",\"description\":\"Train/test split (between 0 and 1)\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"autoClassWeights\",\"description\":\"Whether to automatically balance class weights, use this for skewed datasets.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"findLearningRate\",\"description\":\"Automatically select the optimal learning rate for your data set.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"augmentationPolicyImage\",\"description\":\"The data augmentation policy to use with image input\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"augmentationPolicySpectrogram\",\"required\":false,\"type\":\"object\",\"properties\":{\"enabled\":{\"in\":\"body\",\"name\":\"enabled\",\"description\":\"True if spectrogram augmentation is enabled. Other properties will be ignored if this is false.\",\"required\":true,\"type\":\"boolean\"},\"warping\":{\"in\":\"body\",\"name\":\"warping\",\"description\":\"True if warping along the time axis is enabled.\",\"required\":false,\"type\":\"boolean\"},\"freqMasking\":{\"in\":\"body\",\"name\":\"freqMasking\",\"description\":\"The amount of frequency masking to apply.\",\"required\":false,\"type\":\"string\"},\"timeMasking\":{\"in\":\"body\",\"name\":\"timeMasking\",\"description\":\"The amount of time masking to apply.\",\"required\":false,\"type\":\"string\"},\"gaussianNoise\":{\"in\":\"body\",\"name\":\"gaussianNoise\",\"description\":\"The amount of Gaussian noise to add.\",\"required\":false,\"type\":\"string\"}}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/train/anomaly/{learnId}\":{\"post\":{\"summary\":\"Train model (Anomaly)\",\"description\":\"Take the output from a DSP block and train an anomaly detection model using K-means. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"learnId\",\"description\":\"Learn Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"axes\",\"description\":\"Which axes (indexes from DSP script) to include in the training set\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},{\"in\":\"body\",\"name\":\"clusterCount\",\"description\":\"Number of clusters\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"minimumConfidenceRating\",\"description\":\"Minimum confidence rating required before tagging as anomaly\",\"required\":true,\"type\":\"number\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/build-ondevice-model\":{\"post\":{\"summary\":\"Build on-device model\",\"description\":\"Generate code to run the impulse on an embedded device. When this step is complete use `downloadBuild` to download the artefacts. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"type\",\"description\":\"Output format\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"engine\",\"description\":\"Inferencing engine\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"modelType\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/build-ondevice-model/organization\":{\"post\":{\"summary\":\"Build organizational on-device model\",\"description\":\"Generate code to run the impulse on an embedded device using an organizational deployment block. When this step is complete use `downloadBuild` to download the artefacts. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"engine\",\"description\":\"Inferencing engine\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"deployBlockId\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"modelType\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/export/original\":{\"post\":{\"summary\":\"Export original data\",\"description\":\"Export all the data in the project as it was uploaded to Edge Impulse. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"uploaderFriendlyFilenames\",\"description\":\"Whether to rename the exported file names to an uploader friendly format (e.g. label.filename.cbor)\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"retainCrops\",\"description\":\"Whether to retain crops and splits. If this is disabled, then the original files are returned (as they were uploaded).\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/export/wav\":{\"post\":{\"summary\":\"Export data as WAV\",\"description\":\"Export all the data in the project in WAV format. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"retainCrops\",\"description\":\"Whether to retain crops and splits. If this is disabled, then the original files are returned (as they were uploaded).\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/retrain\":{\"post\":{\"summary\":\"Retrain\",\"description\":\"Retrains the current impulse with the last known parameters. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/classify\":{\"post\":{\"summary\":\"Classify\",\"description\":\"Classifies all items in the testing dataset against the current impulse. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/performance-calibration\":{\"post\":{\"summary\":\"Performance Calibration\",\"description\":\"Simulates real world usage and returns performance metrics.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"backgroundNoiseLabel\",\"description\":\"The label used to signify background noise in the impulse\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"otherNoiseLabels\",\"description\":\"Any other labels that should be considered equivalent to background noise\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"uploadKey\",\"description\":\"The key of an uploaded sample. If not present, a synthetic sample will be created.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"sampleLengthMinutes\",\"description\":\"The length of sample to create (required for synthetic samples)\",\"required\":false,\"type\":\"number\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/evaluate\":{\"post\":{\"summary\":\"Evaluate\",\"description\":\"Evaluates every variant of the current impulse. Updates are streamed over the websocket API.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/version\":{\"post\":{\"summary\":\"Version project\",\"description\":\"Create a new version of the project. This stores all data and configuration offsite. If you have access to the enterprise version of Edge Impulse you can store your data in your own storage buckets (only through JWT token authentication).\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"bucketId\",\"description\":\"Data bucket ID. Keep empty to store in Edge Impulse hosted storage.\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"makePublic\",\"description\":\"Whether to make this version available on a public URL.\",\"required\":true,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/restore\":{\"post\":{\"summary\":\"Restore project to version\",\"description\":\"Restore a project to a certain version. This can only applied to a project without data, and will overwrite your impulse and all settings.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"projectId\",\"description\":\"Source project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"projectApiKey\",\"description\":\"Source project API key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"versionId\",\"description\":\"Source project version ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/jobs/restore/from-public\":{\"post\":{\"summary\":\"Restore project to public version\",\"description\":\"Restore a project to a certain public version. This can only applied to a project without data, and will overwrite your impulse and all settings.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"projectId\",\"description\":\"Source project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/jobs/versions/{versionId}/make-public\":{\"post\":{\"summary\":\"Make a version public\",\"description\":\"Make a version of a project public. This makes all data and state available (read-only) on a public URL, and allows users to clone this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"versionId\",\"description\":\"Version ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/keywords-noise\":{\"post\":{\"summary\":\"Add keywords and noise\",\"description\":\"Add keywords and noise data to a project (for getting started guide)\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/profile-tflite\":{\"post\":{\"summary\":\"Profile TFLite model\",\"description\":\"Takes in a TFLite model and returns the latency, RAM and ROM used for this model. Updates are streamed over the websocket API (or can be retrieved through the /stdout endpoint). Use getProfileTfliteJobResult to get the results when the job is completed.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"tfliteFileBase64\",\"description\":\"A base64 encoded TFLite file\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"device\",\"description\":\"MCU used for calculating latency, query `latencyDevices` in `listProject` for a list of supported devices.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"referenceModel\",\"description\":\"Choose a reference model that's closest to your model architecture\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/jobs/profile-tflite/{jobId}/result\":{\"post\":{\"summary\":\"Get TFLite profile result\",\"description\":\"Get the results from a job started from startProfileTfliteJob.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/auth/discourse\":{\"get\":{\"summary\":\"Discourse\",\"description\":\"Log in a user to the forum. This function is only available through a JWT token.\",\"parameters\":[{\"in\":\"query\",\"name\":\"sso\",\"description\":\"Single sign-on token\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"sig\",\"description\":\"Verification signature\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"302\",\"description\":\"Discourse SSO link\",\"examples\":{}}]}},\"/api/auth/readme\":{\"get\":{\"summary\":\"Readme.io\",\"description\":\"Log in a user to the docs. This function is only available through a JWT token.\",\"parameters\":[],\"responses\":[{\"status\":\"302\",\"description\":\"Readme.io SSO link\",\"examples\":{}}]}},\"/api/organizations\":{\"get\":{\"summary\":\"List active organizations\",\"description\":\"Retrieve list of organizations that a user is a part of. If authenticating using JWT token this lists all the organizations the user has access to, if authenticating using an API key, this only lists that organization.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/create\":{\"post\":{\"summary\":\"Create new organization\",\"description\":\"Create a new organization. This is an internal API.\",\"parameters\":[{\"in\":\"body\",\"name\":\"organizationName\",\"description\":\"The name of the organization.\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}\":{\"get\":{\"summary\":\"Organization information\",\"description\":\"List all information about this organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update organization\",\"description\":\"Update organization properties such as name and logo.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"logo\",\"description\":\"New logo URL, or set to `null` to remove the logo.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"headerImg\",\"description\":\"New leader image URL, or set to `null` to remove the leader.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"New organization name.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"experiments\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"readme\",\"description\":\"Readme for the organization (in Markdown)\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Remove organization\",\"description\":\"Remove the current organization, and all data associated with it. This is irrevocable!\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/logo\":{\"post\":{\"summary\":\"Upload organization logo\",\"description\":\"Uploads and updates the organization logo\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/header\":{\"post\":{\"summary\":\"Upload organization header image\",\"description\":\"Uploads and updates the organization header image\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/test-admin\":{\"get\":{\"summary\":\"Admin endpoint\",\"description\":\"Test endpoint that can only be reached with admin rights.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/projects\":{\"get\":{\"summary\":\"Get projects\",\"description\":\"Retrieve all projects for the organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/apikeys\":{\"get\":{\"summary\":\"Get API keys\",\"description\":\"Retrieve all API keys. This does **not** return the full API key, but only a portion (for security purposes).\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add API key\",\"description\":\"Add an API key.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"Description of the key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"apiKey\",\"description\":\"API key. This needs to start with `ei_` and will need to be at least 32 characters long.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"role\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/apikeys/{apiKeyId}\":{\"delete\":{\"summary\":\"Revoke API key\",\"description\":\"Revoke an API key.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"apiKeyId\",\"description\":\"API key ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/add\":{\"post\":{\"summary\":\"Add member\",\"description\":\"Add a member to an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"usernameOrEmail\",\"description\":\"Username or e-mail address\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"role\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"datasets\",\"description\":\"Only used for 'guest' users. Limits the datasets the user has access to.\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/invite\":{\"post\":{\"summary\":\"Invite member\",\"description\":\"Invite a member to an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"email\",\"description\":\"E-mail address\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"role\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"datasets\",\"description\":\"Only used for 'guest' users. Limits the datasets the user has access to.\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/remove\":{\"post\":{\"summary\":\"Remove member\",\"description\":\"Remove a member from an organization. Note that you cannot invoke this function if only a single member is present to the organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"id\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/{memberId}/role\":{\"post\":{\"summary\":\"Set member role\",\"description\":\"Change the role of a member in an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"memberId\",\"description\":\"Member ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"role\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/{memberId}/datasets\":{\"post\":{\"summary\":\"Set member datasets\",\"description\":\"Set the datasets a guest member has access to in an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"memberId\",\"description\":\"Member ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"datasets\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/members/{memberId}/resend-invite\":{\"post\":{\"summary\":\"Resend invitation\",\"description\":\"Resend an invitation to a member in an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"memberId\",\"description\":\"Member ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/readme/upload-image\":{\"post\":{\"summary\":\"Upload image for readme\",\"description\":\"Uploads an image to the user CDN and returns the path.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"image\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/buckets\":{\"get\":{\"summary\":\"List storage buckets\",\"description\":\"Retrieve all configured storage buckets. This does not list the secret key.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add a storage bucket\",\"description\":\"Add a storage bucket.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"S3 bucket description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"accessKey\",\"description\":\"S3 access key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"secretKey\",\"description\":\"S3 secret key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"endpoint\",\"description\":\"S3 endpoint\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucket\",\"description\":\"S3 bucket\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"prefix\",\"description\":\"Prefix within the bucket\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"region\",\"description\":\"S3 region\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/buckets/verify\":{\"post\":{\"summary\":\"Verify bucket connectivity\",\"description\":\"Verify whether we can reach a bucket before adding it.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"accessKey\",\"description\":\"S3 access key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"secretKey\",\"description\":\"S3 secret key\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucket\",\"description\":\"S3 bucket\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"endpoint\",\"description\":\"S3 endpoint\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"region\",\"description\":\"S3 region\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"prefix\",\"description\":\"Optional prefix in the bucket. Set this if you don't have access to the full bucket for example.\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/buckets/{bucketId}\":{\"post\":{\"summary\":\"Update storage bucket\",\"description\":\"Updates storage bucket details. This only updates fields that were set in the request body.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"bucketId\",\"description\":\"Bucket ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"S3 bucket description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"accessKey\",\"description\":\"S3 access key\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"secretKey\",\"description\":\"S3 secret key\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"endpoint\",\"description\":\"S3 endpoint\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucket\",\"description\":\"S3 bucket\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"prefix\",\"description\":\"Prefix within the bucket\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"region\",\"description\":\"S3 region\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Remove storage bucket\",\"description\":\"Remove a storage bucket. This will render any data in this storage bucket unreachable.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"bucketId\",\"description\":\"Bucket ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/data\":{\"get\":{\"summary\":\"List data\",\"description\":\"Lists all data items. This can be filtered by the ?filter parameter.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/add\":{\"post\":{\"summary\":\"Add new data\",\"description\":\"Add a new data item. You can add a maximum of 10000 files directly through this API. Use `addOrganizationDataFile` to add additional files. Don't trust the code generated by the widget, there are examples of using this API in Python, cURL and Node.js under the parameters.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucketId\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"bucketName\",\"description\":\"Name of the bucket name (as an Edge Impulse name)\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dataset\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucketPath\",\"description\":\"Optional path in the bucket to create this data item (files are created under this path).\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"metadata\",\"description\":\"Key-value pair of metadata (in JSON format)\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"files[]\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/data/add-folder\":{\"post\":{\"summary\":\"Add data items from bucket\",\"description\":\"Bulk adds data items that already exist in a storage bucket. The bucket path specified should contain folders. Each folder is added as a data item in Edge Impulse.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"dataset\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucketId\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"bucketPath\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"metadataDataset\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/download\":{\"get\":{\"summary\":\"Download data\",\"description\":\"Download all data for selected data items. This function does not query the underlying bucket.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"dataIds\",\"description\":\"Data IDs as an Array\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"TAR file\",\"examples\":{\"application/x-tar\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/organizations/{organizationId}/data/delete\":{\"post\":{\"summary\":\"Delete data\",\"description\":\"Delete all data for selected data items. This removes all data in the underlying data bucket.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"dataIds\",\"description\":\"Data IDs as an Array\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/clear-checklist\":{\"post\":{\"summary\":\"Clear checklist for data\",\"description\":\"Clear all checklist flags for selected data items.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"dataIds\",\"description\":\"Data IDs as an Array\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/change-dataset\":{\"post\":{\"summary\":\"Change dataset\",\"description\":\"Change the dataset for selected data items.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"dataIds\",\"description\":\"Data IDs as an Array\",\"required\":true,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dataset\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/files\":{\"get\":{\"summary\":\"List files\",\"description\":\"Lists all files included by the filter.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/refresh\":{\"post\":{\"summary\":\"Refresh data\",\"description\":\"Update all data items. HEADs all underlying buckets to retrieve the last file information. Use this API after uploading data directly to S3.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"dataset\",\"description\":\"Selected dataset\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/bulk-metadata\":{\"post\":{\"summary\":\"Bulk update metadata\",\"description\":\"Bulk update the metadata of many data items in one go. This requires you to submit a CSV file with headers, one of which the columns should be named 'name'. The other columns are used as metadata keys.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"dataset\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"csvFile\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/data/{dataId}\":{\"get\":{\"summary\":\"Get data metadata\",\"description\":\"Get a data item. This will HEAD the underlying bucket to retrieve the last file information.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update data metadata\",\"description\":\"Update the data item metadata.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"metadata\",\"required\":false,\"type\":\"object\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete data\",\"description\":\"Delete a data item. This does not remove the items from the underlying storage.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/data/{dataId}/add\":{\"post\":{\"summary\":\"Add files\",\"description\":\"Add a new file to an existing data item. Don't trust the code generated by the widget, there are examples of using this API in Python, cURL and Node.js under the parameters.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"files[]\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/data/{dataId}/download\":{\"get\":{\"summary\":\"Download data\",\"description\":\"Download all data for this data item.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"filter\",\"description\":\"Data filter in SQL WHERE format, where you can reference 'dataset', 'bucket', 'name', 'total_file_count', 'total_file_size', 'created' and any metadata label through 'metadata->' (dots are replaced by underscore).\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"ZIP file\",\"examples\":{\"application/zip\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]},\"delete\":{\"summary\":\"Delete file\",\"description\":\"Delete a single file from a data item.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"fileName\",\"description\":\"File name\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/data/{dataId}/files/download\":{\"get\":{\"summary\":\"Download file\",\"description\":\"Download a single file from a data item.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"fileName\",\"description\":\"File name\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/organizations/{organizationId}/data/{dataId}/files/preview\":{\"get\":{\"summary\":\"Preview file\",\"description\":\"Preview a single file from a data item (same as downloadOrganizationDataFile but w/ content-disposition inline).\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataId\",\"description\":\"Data ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"fileName\",\"description\":\"File name\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"File\",\"examples\":{\"application/octet-stream\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\",\"format\":\"binary\"}}]}},\"/api/organizations/{organizationId}/dataset/{dataset}\":{\"get\":{\"summary\":\"Get dataset\",\"description\":\"Get information about a dataset\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataset\",\"description\":\"Dataset name\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update dataset\",\"description\":\"Set information about a dataset\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataset\",\"description\":\"Dataset name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"tags\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/dataset/{dataset}/hide\":{\"post\":{\"summary\":\"Hide dataset\",\"description\":\"Hide a dataset (does not remove underlying data)\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dataset\",\"description\":\"Dataset name\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project\":{\"get\":{\"summary\":\"List transformation jobs\",\"description\":\"Get list of transformation jobs.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Start transformation job\",\"description\":\"Start a transformation job to fetch data from the organization and put it in a project, or transform into new data.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"filter\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"uploadType\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectId\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"newProjectName\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectApiKey\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectHmacKey\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"transformationBlockId\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"builtinTransformationBlock\",\"required\":false,\"type\":\"object\"},{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"outputDatasetName\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"label\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"emailRecipientUids\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}},{\"in\":\"body\",\"name\":\"transformationParallel\",\"description\":\"Number of parallel jobs to start\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"extraCliArguments\",\"description\":\"Optional extra arguments for this transformation block\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}\":{\"get\":{\"summary\":\"Get transformation job status\",\"description\":\"Get the current status of a transformation job job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"transformLimit\",\"description\":\"Maximum number of results of transformation jobs\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"transformOffset\",\"description\":\"Offset in results of transformation jobs, can be used in conjunction with TransformLimitResultsParameter to implement paging.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"selection\",\"description\":\"Type of selected rows, either 'all', 'created', 'in-progress' or 'failed' (defaults to 'all')\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update transformation job\",\"description\":\"Update the properties of a transformation job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"transformationParallel\",\"description\":\"Number of transformation jobs that can be ran in parallel\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"emailRecipientUids\",\"description\":\"List of user IDs to notify when a Job succeeds\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete transformation job\",\"description\":\"Remove a transformation job. This will stop all running jobs.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}/transform/retry\":{\"post\":{\"summary\":\"Retry failed transform jobs\",\"description\":\"Retry all failed transform job from a transformation job. Only jobs that have failed will be retried.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}/transform/clear\":{\"post\":{\"summary\":\"Clear failed transform jobs\",\"description\":\"Clear all failed transform job from a create project job. Only jobs that have failed will be cleared.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}/upload/retry\":{\"post\":{\"summary\":\"Retry transformation upload job\",\"description\":\"Retry the upload job from a transformation job. Only jobs that have failed can be retried.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}/files/{createProjectFileId}\":{\"delete\":{\"summary\":\"Delete create project file\",\"description\":\"Remove a file from a create project job. Only files for which no jobs are running can be deleted.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectFileId\",\"description\":\"Create project job file ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/create-project/{createProjectId}/files/{createProjectFileId}/retry\":{\"post\":{\"summary\":\"Retry transformation file\",\"description\":\"Retry a transformation action on a file from a transformation job. Only files that have failed can be retried.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectId\",\"description\":\"Create project job ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"createProjectFileId\",\"description\":\"Create project job file ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/transformation\":{\"get\":{\"summary\":\"Get transformation blocks\",\"description\":\"Retrieve all transformation blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add transformation block\",\"description\":\"Adds a transformation block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"indMetadata\",\"description\":\"Whether to pass the `--metadata` parameter to the container.\",\"required\":true,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"cliArguments\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"additionalMountPoints\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"bucketId\":{\"in\":\"body\",\"name\":\"bucketId\",\"required\":false,\"type\":\"integer\"},\"portalId\":{\"in\":\"body\",\"name\":\"portalId\",\"required\":false,\"type\":\"integer\"},\"mountPoint\":{\"in\":\"body\",\"name\":\"mountPoint\",\"required\":true,\"type\":\"string\"}}}},{\"in\":\"body\",\"name\":\"operatesOn\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"allowExtraCliArguments\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/transformation/{transformationId}\":{\"post\":{\"summary\":\"Update transformation block\",\"description\":\"Updates a transformation block. Only values in the body will be updated.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"transformationId\",\"description\":\"Transformation block ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"indMetadata\",\"description\":\"Whether to pass the `--metadata` parameter to the container.\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"cliArguments\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"additionalMountPoints\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"type\":{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},\"bucketId\":{\"in\":\"body\",\"name\":\"bucketId\",\"required\":false,\"type\":\"integer\"},\"portalId\":{\"in\":\"body\",\"name\":\"portalId\",\"required\":false,\"type\":\"integer\"},\"mountPoint\":{\"in\":\"body\",\"name\":\"mountPoint\",\"required\":true,\"type\":\"string\"}}}},{\"in\":\"body\",\"name\":\"operatesOn\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"allowExtraCliArguments\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete transformation block\",\"description\":\"Deletes a transformation block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"transformationId\",\"description\":\"Transformation block ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/custom-block\":{\"post\":{\"summary\":\"Upload a custom block\",\"description\":\"Upload a zip file containing a custom transformation or deployment block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"tar\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"type\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"blockId\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/deploy\":{\"get\":{\"summary\":\"Get deploy blocks\",\"description\":\"Retrieve all deploy blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add deploy block\",\"description\":\"Adds a deploy block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"cliArguments\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"photo\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"integrateUrl\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privileged\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"mountLearnBlock\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"supportsEonCompiler\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"showOptimizations\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/deploy/{deployId}\":{\"post\":{\"summary\":\"Update deploy block\",\"description\":\"Updates a deploy block. Only values in the body will be updated.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deployId\",\"description\":\"Deploy block ID.\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"cliArguments\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"photo\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"integrateUrl\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"privileged\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"mountLearnBlock\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"supportsEonCompiler\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"showOptimizations\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete deploy block\",\"description\":\"Deletes a deploy block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"deployId\",\"description\":\"Deploy block ID.\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/dsp\":{\"get\":{\"summary\":\"Get dsp blocks\",\"description\":\"Retrieve all dsp blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add dsp block\",\"description\":\"Adds a dsp block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"port\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/dsp/{dspId}\":{\"post\":{\"summary\":\"Update dsp block\",\"description\":\"Updates a dsp block. Only values in the body will be updated.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"requestsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"requestsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"limitsCpu\",\"required\":false,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"limitsMemory\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"port\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete dsp block\",\"description\":\"Deletes a dsp block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/dsp/{dspId}/retry\":{\"post\":{\"summary\":\"Retry connection to dsp block\",\"description\":\"Retry launch a dsp block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"dspId\",\"description\":\"DSP Block ID, use the impulse functions to retrieve the ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/transfer-learning\":{\"get\":{\"summary\":\"Get transfer learning blocks\",\"description\":\"Retrieve all transfer learning blocks.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add transfer learning block\",\"description\":\"Adds a transfer learning block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"operatesOn\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"objectDetectionLastLayer\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/transfer-learning/{transferLearningId}\":{\"post\":{\"summary\":\"Update transfer learning block\",\"description\":\"Updates a transfer learning block. Only values in the body will be updated.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"transferLearningId\",\"description\":\"Transfer learning ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"dockerContainer\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"operatesOn\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"objectDetectionLastLayer\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete transfer learning block\",\"description\":\"Deletes a transfer learning block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"transferLearningId\",\"description\":\"Transfer learning ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/secrets\":{\"get\":{\"summary\":\"Get secrets\",\"description\":\"Retrieve all secrets.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Add secret\",\"description\":\"Adds a secret.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"secret\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/secrets/{secretId}\":{\"delete\":{\"summary\":\"Delete transfer learning block\",\"description\":\"Deletes a transfer learning block.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"secretId\",\"description\":\"Secret ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/new-project\":{\"post\":{\"summary\":\"Create new empty project\",\"description\":\"Create a new empty project within an organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"projectName\",\"description\":\"The name of the project.\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/add-project-collaborator\":{\"post\":{\"summary\":\"Add a collaborator to a project within an organisation\",\"description\":\"Add a new collaborator to a project owned by an organisation.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"projectId\",\"description\":\"The ID of the project to add the collaborator to.\",\"required\":true,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"userId\",\"description\":\"The user ID to add to the project. The user must be an admin of the organization.\",\"required\":true,\"type\":\"number\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/jobs\":{\"get\":{\"summary\":\"List active jobs\",\"description\":\"Get all active jobs for this organization\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/jobs/history\":{\"get\":{\"summary\":\"List finished jobs\",\"description\":\"Get all finished jobs for this organization\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"startDate\",\"description\":\"Start date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"endDate\",\"description\":\"End date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/jobs/all\":{\"get\":{\"summary\":\"List all jobs\",\"description\":\"Get all jobs for this organization\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"startDate\",\"description\":\"Start date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"endDate\",\"description\":\"End date\",\"required\":false,\"type\":\"string\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"offset\",\"description\":\"Offset in results, can be used in conjunction with LimitResultsParameter to implement paging.\",\"required\":false,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"excludePipelineTransformJobs\",\"description\":\"Whether to exclude pipeline / transformation jobs\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"query\",\"name\":\"rootOnly\",\"description\":\"Whether to exclude jobs with a parent ID (so jobs started as part of another job)\",\"required\":false,\"type\":\"boolean\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/jobs/{jobId}/cancel\":{\"post\":{\"summary\":\"Cancel job\",\"description\":\"Cancel a running job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"forceCancel\",\"description\":\"If set to 'true', we won't wait for the job cluster to cancel the job, and will mark the job as finished.\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/jobs/{jobId}/status\":{\"get\":{\"summary\":\"Get job status\",\"description\":\"Get the status for a job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/jobs/{jobId}/stdout\":{\"get\":{\"summary\":\"Get logs\",\"description\":\"Get the logs for a job.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/jobs/{jobId}/stdout/download\":{\"get\":{\"summary\":\"Download logs\",\"description\":\"Download the logs for a job (as a text file).\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"jobId\",\"description\":\"Job ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"query\",\"name\":\"limit\",\"description\":\"Maximum number of results\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"text/plain\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\"}}]}},\"/api/organizations/{organizationId}/socket-token\":{\"get\":{\"summary\":\"Get socket token for an organization\",\"description\":\"Get a token to authenticate with the web socket interface.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/pipelines\":{\"get\":{\"summary\":\"List pipelines\",\"description\":\"Retrieve all organizational pipelines\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Create pipeline\",\"description\":\"Create an organizational pipelines\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"intervalStr\",\"description\":\"15m for every 15 minutes, 2h for every 2 hours, 1d for every 1 day\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"steps\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"name\":{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},\"filter\":{\"in\":\"body\",\"name\":\"filter\",\"required\":false,\"type\":\"string\"},\"uploadType\":{\"in\":\"body\",\"name\":\"uploadType\",\"required\":false,\"type\":\"string\"},\"projectId\":{\"in\":\"body\",\"name\":\"projectId\",\"required\":false,\"type\":\"integer\"},\"newProjectName\":{\"in\":\"body\",\"name\":\"newProjectName\",\"required\":false,\"type\":\"string\"},\"projectApiKey\":{\"in\":\"body\",\"name\":\"projectApiKey\",\"required\":false,\"type\":\"string\"},\"projectHmacKey\":{\"in\":\"body\",\"name\":\"projectHmacKey\",\"required\":false,\"type\":\"string\"},\"transformationBlockId\":{\"in\":\"body\",\"name\":\"transformationBlockId\",\"required\":false,\"type\":\"integer\"},\"builtinTransformationBlock\":{\"in\":\"body\",\"name\":\"builtinTransformationBlock\",\"required\":false,\"type\":\"object\"},\"category\":{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"},\"outputDatasetName\":{\"in\":\"body\",\"name\":\"outputDatasetName\",\"required\":false,\"type\":\"string\"},\"label\":{\"in\":\"body\",\"name\":\"label\",\"required\":false,\"type\":\"string\"},\"transformationParallel\":{\"in\":\"body\",\"name\":\"transformationParallel\",\"required\":false,\"type\":\"integer\"},\"extraCliArguments\":{\"in\":\"body\",\"name\":\"extraCliArguments\",\"required\":false,\"type\":\"string\"}}}},{\"in\":\"body\",\"name\":\"dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectId\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"emailRecipientUids\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}},{\"in\":\"body\",\"name\":\"notificationWebhook\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"whenToEmail\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/pipelines/{pipelineId}\":{\"get\":{\"summary\":\"Get pipeline\",\"description\":\"Retrieve an organizational pipelines\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"pipelineId\",\"description\":\"Pipeline ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update pipeline\",\"description\":\"Update an organizational pipelines\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"pipelineId\",\"description\":\"Pipeline ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"intervalStr\",\"description\":\"15m for every 15 minutes, 2h for every 2 hours, 1d for every 1 day\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"steps\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"object\",\"properties\":{\"name\":{\"in\":\"body\",\"name\":\"name\",\"required\":true,\"type\":\"string\"},\"filter\":{\"in\":\"body\",\"name\":\"filter\",\"required\":false,\"type\":\"string\"},\"uploadType\":{\"in\":\"body\",\"name\":\"uploadType\",\"required\":false,\"type\":\"string\"},\"projectId\":{\"in\":\"body\",\"name\":\"projectId\",\"required\":false,\"type\":\"integer\"},\"newProjectName\":{\"in\":\"body\",\"name\":\"newProjectName\",\"required\":false,\"type\":\"string\"},\"projectApiKey\":{\"in\":\"body\",\"name\":\"projectApiKey\",\"required\":false,\"type\":\"string\"},\"projectHmacKey\":{\"in\":\"body\",\"name\":\"projectHmacKey\",\"required\":false,\"type\":\"string\"},\"transformationBlockId\":{\"in\":\"body\",\"name\":\"transformationBlockId\",\"required\":false,\"type\":\"integer\"},\"builtinTransformationBlock\":{\"in\":\"body\",\"name\":\"builtinTransformationBlock\",\"required\":false,\"type\":\"object\"},\"category\":{\"in\":\"body\",\"name\":\"category\",\"required\":false,\"type\":\"string\"},\"outputDatasetName\":{\"in\":\"body\",\"name\":\"outputDatasetName\",\"required\":false,\"type\":\"string\"},\"label\":{\"in\":\"body\",\"name\":\"label\",\"required\":false,\"type\":\"string\"},\"transformationParallel\":{\"in\":\"body\",\"name\":\"transformationParallel\",\"required\":false,\"type\":\"integer\"},\"extraCliArguments\":{\"in\":\"body\",\"name\":\"extraCliArguments\",\"required\":false,\"type\":\"string\"}}}},{\"in\":\"body\",\"name\":\"dataset\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"projectId\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"emailRecipientUids\",\"required\":true,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"number\"}},{\"in\":\"body\",\"name\":\"notificationWebhook\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"whenToEmail\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Delete pipeline\",\"description\":\"Delete an organizational pipelines\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"pipelineId\",\"description\":\"Pipeline ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/pipelines/{pipelineId}/run\":{\"post\":{\"summary\":\"Run pipelines\",\"description\":\"Run an organizational pipeline\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"pipelineId\",\"description\":\"Pipeline ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api-usercdn\":{\"get\":{\"summary\":\"User CDN resource\",\"description\":\"Proxy function to retrieve data from the user CDN. This function is only used during development.\",\"parameters\":[{\"in\":\"query\",\"name\":\"path\",\"description\":\"CDN Path\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"Image\",\"examples\":{\"image/jpeg\":\"\\\"string\\\"\"},\"schema\":{\"type\":\"string\"}}]}},\"/api/{projectId}\":{\"get\":{\"summary\":\"Project information\",\"description\":\"List all information about this project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Update project\",\"description\":\"Update project properties such as name and logo.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"logo\",\"description\":\"New logo URL, or set to `null` to remove the logo.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"New project name.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"lastDeployEonCompiler\",\"description\":\"Call this when clicking the Eon compiler setting\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"latencyDevice\",\"description\":\"MCU used for calculating latency\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"experiments\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"string\"}},{\"in\":\"body\",\"name\":\"showCreateFirstImpulse\",\"description\":\"Whether to show the 'Create your first impulse' section on the dashboard\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"labelingMethod\",\"description\":\"What labeling flow to use\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"showProjectTypeWizard\",\"description\":\"Whether to show the getting started wizard on the next page load of the dashboard\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"selectedProjectTypeInWizard\",\"description\":\"Which option was selected in the project type wizard\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"gettingStartedStep\",\"description\":\"The next step in the getting started wizard, or set to -1 to clear the getting started wizard\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"useGpu\",\"description\":\"Whether to use GPU for training\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"computeTimeLimitM\",\"description\":\"Job limit in minutes\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"dspFileSizeMb\",\"description\":\"DSP file size in MB\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"enterprisePerformance\",\"required\":false,\"type\":\"boolean\"},{\"in\":\"body\",\"name\":\"trainJobRamMb\",\"description\":\"Amount of RAM allocated to training jobs\",\"required\":false,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"metadata\",\"description\":\"New metadata about the project\",\"required\":false,\"type\":\"object\"},{\"in\":\"body\",\"name\":\"readme\",\"description\":\"Readme for the project (in Markdown)\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"lastAcquisitionLabel\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"trainJobNotificationUids\",\"description\":\"The IDs of users who should be notified when a Keras or retrain job is finished.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},{\"in\":\"body\",\"name\":\"dspJobNotificationUids\",\"description\":\"The IDs of users who should be notified when a DSP job is finished.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},{\"in\":\"body\",\"name\":\"modelTestingJobNotificationUids\",\"description\":\"The IDs of users who should be notified when a model testing job is finished.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}},{\"in\":\"body\",\"name\":\"exportJobNotificationUids\",\"description\":\"The IDs of users who should be notified when an export job is finished.\",\"required\":false,\"type\":\"array\",\"items\":{\"in\":\"body\",\"name\":\"\",\"required\":false,\"type\":\"integer\"}}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]},\"delete\":{\"summary\":\"Remove project\",\"description\":\"Remove the current project, and all data associated with it. This is irrevocable!\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/admin/find-user\":{\"get\":{\"summary\":\"Find a user\",\"description\":\"Admin-only API to find a user by username or email address.\",\"parameters\":[{\"in\":\"query\",\"name\":\"query\",\"description\":\"Part of e-mail address or username\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/admin/users/{userId}\":{\"get\":{\"summary\":\"Get user\",\"description\":\"Admin-only API to get information about a user.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]},\"post\":{\"summary\":\"Get user\",\"description\":\"Admin-only API to update user properties.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"email\",\"description\":\"New email. This will also update the forum's email address but the user may need to logout/login back\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/admin/users-ids\":{\"get\":{\"summary\":\"Get all user IDs\",\"description\":\"Admin-only API to get list of all users.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/admin/users-ids/active\":{\"get\":{\"summary\":\"Get all user IDs (active last 30 days)\",\"description\":\"Admin-only API to get list of all users that have been active in the past 30 days.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/admin/users/{userId}/metrics\":{\"get\":{\"summary\":\"Get user metrics\",\"description\":\"Admin-only API to get marketing metrics about a user.\",\"parameters\":[{\"in\":\"path\",\"name\":\"userId\",\"description\":\"User ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/admin/projects/{adminProjectId}/add\":{\"post\":{\"summary\":\"Add current user to a project\",\"description\":\"Admin-only API to add the current user to a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"adminProjectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/admin/projects/{adminProjectId}/remove\":{\"post\":{\"summary\":\"Remove current user from a project\",\"description\":\"Admin-only API to remove the current user from a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"adminProjectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api-health\":{\"get\":{\"summary\":\"Get container health\",\"description\":\"Get container health.\",\"parameters\":[{\"in\":\"query\",\"name\":\"requester\",\"description\":\"Health check requester\",\"required\":false,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}},{\"status\":\"503\",\"description\":\"Unhealthy\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api-metrics\":{\"get\":{\"summary\":\"Get public metrics\",\"description\":\"Get information about number of projects, compute and data samples. Updated once per hour.\",\"parameters\":[],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/portals/{portalId}\":{\"get\":{\"summary\":\"Portal info\",\"description\":\"Get information about a portal\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"name\\\": \\\"string\\\",\\n \\\"description\\\": \\\"string\\\",\\n \\\"organizationId\\\": 0,\\n \\\"organizationName\\\": \\\"string\\\",\\n \\\"organizationLogo\\\": \\\"string\\\"\\n}\"},\"schema\":{\"type\":\"object\",\"required\":[\"id\",\"name\",\"description\",\"organizationId\",\"organizationName\"],\"properties\":{\"name\":{\"type\":\"string\"},\"description\":{\"type\":\"string\"},\"organizationId\":{\"type\":\"integer\"},\"organizationName\":{\"type\":\"string\"},\"organizationLogo\":{\"type\":\"string\"}}}}]}},\"/api/portals/{portalId}/upload-link\":{\"post\":{\"summary\":\"Create pre-signed S3 upload link\",\"description\":\"Creates a signed link to securely upload data to s3 bucket directly from the client.\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"fileName\",\"description\":\"file name\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"fileSize\",\"description\":\"file size in bytes\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"fileHash\",\"description\":\"hash to identify file changes\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/portals/{portalId}/files\":{\"post\":{\"summary\":\"List files in portal\",\"description\":\"List all files and directories in specified prefix.\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"prefix\",\"description\":\"S3 prefix\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/portals/{portalId}/files/delete\":{\"post\":{\"summary\":\"Delete file from portal\",\"description\":\"Delete a file from an upload portal (requires JWT auth).\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"path\",\"description\":\"S3 path (within the portal)\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/portals/{portalId}/files/rename\":{\"post\":{\"summary\":\"Rename file from portal\",\"description\":\"Rename a file on an upload portal (requires JWT auth).\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"oldPath\",\"description\":\"S3 path (within the portal)\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"newPath\",\"description\":\"S3 path (within the portal)\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/portals/{portalId}/files/download\":{\"post\":{\"summary\":\"Download file from portal\",\"description\":\"Download a file from an upload portal (requires JWT auth). Will return a signed URL to the bucket.\",\"parameters\":[{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"path\",\"description\":\"S3 path (within the portal)\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals\":{\"get\":{\"summary\":\"List upload portals\",\"description\":\"Retrieve all configured upload portals.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals/{portalId}\":{\"get\":{\"summary\":\"Retrieve upload portal information\",\"description\":\"Retrieve a single upload portals identified by ID.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals/{portalId}/verify\":{\"get\":{\"summary\":\"Verify upload portal information\",\"description\":\"Retrieve a subset of files from the portal, to be used in the data source wizard.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals/create\":{\"post\":{\"summary\":\"Create upload portal\",\"description\":\"Creates a new upload portal for the organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"The name of the upload portal.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"description\":\"The purpose and description of the upload portal.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucketId\",\"description\":\"The S3 bucket id to store the uploaded data. Set to '0' to select a bucket hosted by Edge Impulse.\",\"required\":true,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"bucketPath\",\"description\":\"The path in the bucket the upload portal will write to.\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals/{portalId}/update\":{\"put\":{\"summary\":\"Update upload portal\",\"description\":\"Updates an upload portal for the organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"name\",\"description\":\"The name of the upload portal.\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"description\",\"description\":\"The purpose and description of the upload portal.\",\"required\":false,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"bucketId\",\"description\":\"The S3 bucket id to store the uploaded data. Set to '0' to select a bucket hosted by Edge Impulse.\",\"required\":true,\"type\":\"number\"},{\"in\":\"body\",\"name\":\"bucketPath\",\"description\":\"The path in the bucket the upload portal will write to.\",\"required\":true,\"type\":\"string\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/organizations/{organizationId}/portals/{portalId}/rotate-token\":{\"delete\":{\"summary\":\"Rotate upload portal token\",\"description\":\"Rotates the token for an upload portal.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/organizations/{organizationId}/portals/{portalId}/delete\":{\"delete\":{\"summary\":\"Delete upload portal\",\"description\":\"Deletes an upload portal for the organization.\",\"parameters\":[{\"in\":\"path\",\"name\":\"organizationId\",\"description\":\"Organization ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"portalId\",\"description\":\"Portal ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}},\"/api/{projectId}/notes\":{\"get\":{\"summary\":\"Get notes\",\"description\":\"Get all notes in project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/notes/add\":{\"post\":{\"summary\":\"Add note\",\"description\":\"Add a note to a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"note\",\"description\":\"Text of the note\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"parentId\",\"description\":\"if the note is created in response of a previous note, this field holds the ID of that note\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/notes/{noteId}/update\":{\"post\":{\"summary\":\"Update note\",\"description\":\"Update a note from a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"noteId\",\"description\":\"Note ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"body\",\"name\":\"note\",\"description\":\"Text of the note\",\"required\":true,\"type\":\"string\"},{\"in\":\"body\",\"name\":\"parentId\",\"description\":\"if the note is created in response of a previous note, this field holds the ID of that note\",\"required\":false,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{}}]}},\"/api/{projectId}/notes/{noteId}/remove\":{\"delete\":{\"summary\":\"Remove note\",\"description\":\"Remove a note from a project.\",\"parameters\":[{\"in\":\"path\",\"name\":\"projectId\",\"description\":\"Project ID\",\"required\":true,\"type\":\"integer\"},{\"in\":\"path\",\"name\":\"noteId\",\"description\":\"Note ID\",\"required\":true,\"type\":\"integer\"}],\"responses\":[{\"status\":\"200\",\"description\":\"OK\",\"examples\":{\"application/json\":\"{\\n \\\"success\\\": true,\\n \\\"error\\\": \\\"string\\\"\\n}\"},\"schema\":{\"__gitbook_$ref__\":\"#/paths/~1api-login/post/responses/0/schema/allOf/0\"}}]}}}}}}"; window.__GITBOOK_INITIAL_RENDER__ = true; window.__GITBOOK_INITIAL_STATE_COMPRESSED__ = false; window.__GITBOOK_LAZY_MODULES__ = ["07bbcef2528b05e6d213d2715075ebdb4746d8ae8d23eb1aced11d0501e6ce8a","04c2eb137482052f74a815e7f1268048742757df6c55825c228e692e64c7cb9b","b973e683d22734e9ea41afd662955427b9c702721f025a2342d1eb65e3500615","816cd1f5ee24288d344146d879f1e1f6d649b81472027f69f32950d956f0d344","5dd213efb5f32b2b1f550a489a6f4658f6c121ef92c4dc9298dd6b9065358a27","429837f8b383ed2c4f85d02026ce73e42335b6233c1dc303af2b0f50fedfe256"];