Scailable Compute API (1.0.1)

Download OpenAPI specification:Download

The Scailable Compute API handles managing of the models.

What can you do with this API

With the calls in this API to browse and manage models in the Scailable Cloud. You can list, search and add models and you can create, list and edit the catalogues for the models.

The private endpoints in the Admin and IPC sections are used in the internal admin tools. These are not visible in the public documentation.

Quick start

Browse models by sending a GET request to /functions and use query parameters to search specific models.

Get all available catalogues by sending a GET request to /catalogues and then get the functions in a Catalogue with a GET request to /catalogue/{uuid}.

Use a POST request to /function to add model information with an attached onnx file.

Technical environment

The Compute API is part of the Scailable Cloud and handles the management of models (compute functions) for the Cloud Admin interface.


Catalogue

Delete an empty catalogue

Delete an empty catalogue.

Time-out set to 15s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use catalogue uuid

Responses

Response samples

Content type
application/json
{
  • "AuthorizationInvalid": true,
  • "Email": "string",
  • "Field": {
    },
  • "Message": "string",
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Return a single catalogue

Return a single catalogue.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use catalogue uuid

Responses

Response samples

Content type
application/json
{
  • "Name": "string",
  • "Organisation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Edit a model catalogue

Edit a model catalogue.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use catalogue uuid

Request Body schema: application/json
Name
required
string

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "AuthorizationInvalid": true,
  • "Email": "string",
  • "Field": {
    },
  • "Message": "string",
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Return all catalogues accessible

Return all catalogues accessible.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
query Parameters
Organisation
string <uuid>

filter by organisation

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new catalogue

Add a new catalogue.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
Name
required
string

Responses

Request samples

Content type
application/json
{
  • "Name": "string"
}

Response samples

Content type
application/json
{
  • "Name": "string",
  • "Organisation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Global

Return configured parameters for service

Return configured parameters for service.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
{
  • "Features": { },
  • "MaxUploadSize": 0,
  • "SupportedFileTypes": [
    ]
}

Return statistics for all functions

Return statistics for all functions.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
{
  • "FirstInsertedAt": "2019-08-24T14:15:22Z",
  • "FirstUpdatedAt": "2019-08-24T14:15:22Z",
  • "LastInsertedAt": "2019-08-24T14:15:22Z",
  • "LastUpdatedAt": "2019-08-24T14:15:22Z",
  • "NumberOfEvents": 0,
  • "NumberOfEventsLast30": 0,
  • "Total": 0
}

Function

Delete a single function

Delete a single function.

Time-out set to 15s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use function uuid

Responses

Response samples

Content type
application/json
{
  • "AuthorizationInvalid": true,
  • "Email": "string",
  • "Field": {
    },
  • "Message": "string",
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30"
}

Return a single function

Return a single function.

Time-out set to 1s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use function uuid

Responses

Response samples

Content type
application/json
{
  • "Alias": "string",
  • "Catalogues": [
    ],
  • "Code": {
    },
  • "Documentation": "string",
  • "Downloads": [
    ],
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "NamedInput": { },
  • "NamedOutput": { },
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "Source": {
    },
  • "Status": "string",
  • "SyncInformation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Update a single function

Update a single function.

Time-out set to 5m0s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use function uuid

Request Body schema: multipart/form-data
bundle
string <binary>
object

Responses

Response samples

Content type
application/json
{
  • "Alias": "string",
  • "Catalogues": [
    ],
  • "Code": {
    },
  • "Documentation": "string",
  • "Downloads": [
    ],
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "NamedInput": { },
  • "NamedOutput": { },
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "Source": {
    },
  • "Status": "string",
  • "SyncInformation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Update a single function through the linked settings

Update a single function through the linked settings.

Time-out set to 5m0s. Requires an authenticated user.

Authorizations:
User
path Parameters
uuid
required
any

Use function uuid

Request Body schema: application/json
EdgeImpulse
required
boolean

Responses

Request samples

Content type
application/json
{
  • "EdgeImpulse": true
}

Response samples

Content type
application/json
{
  • "Alias": "string",
  • "Catalogues": [
    ],
  • "Code": {
    },
  • "Documentation": "string",
  • "Downloads": [
    ],
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "NamedInput": { },
  • "NamedOutput": { },
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "Source": {
    },
  • "Status": "string",
  • "SyncInformation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Return a list of functions

To get uncatalogued models, the "nil" UUID is used as Catalogue query parameter. To filter by width/height, use: 200- (upper range), -200 (lower range), 100-200 (complete range).

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
query Parameters
Offset
integer

Number of items to skip from beginning of list (base 0)

Limit
integer

Number of items to return

OrderBy
string
Enum: "Name" "UpdatedAt" "InsertedAt"

Order the list by these fields. Add a '-' in front of the field to reverse sort and to sort on multiple fields separate them by a comma.

q
string or null

Filter by search text

Status
string

filter by status

Catalogue
string <uuid>

filter by catalogue

LicensedCatalogue
Array of strings <uuid>

filter by licensedcatalogue

Functions
Array of strings <uuid>

filter by functions

SourceName
string

filter by sourcename

SourceUrl
string

filter by sourceurl

Width
string

filter by width

Height
string

filter by height

RuntimeArch
string

filter by runtimearch

OutputProperty
string

filter by outputproperty

InputProperty
string

filter by inputproperty

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new function

Add a new function.

Time-out set to 5m0s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
Alias
string or null
Documentation
string or null
InputDriver
required
string
InputDriverDetails
required
object

of type map

Name
required
string
OutputDriver
required
string
OutputDriverDetails
required
object

of type map

SourceName
string or null
SourceUrl
string or null

Responses

Request samples

Content type
application/json
{
  • "Alias": "string",
  • "Documentation": "string",
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "SourceName": "string",
  • "SourceUrl": "string"
}

Response samples

Content type
application/json
{
  • "Alias": "string",
  • "Catalogues": [
    ],
  • "Code": {
    },
  • "Documentation": "string",
  • "Downloads": [
    ],
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "NamedInput": { },
  • "NamedOutput": { },
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "Source": {
    },
  • "Status": "string",
  • "SyncInformation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Return a list of functions (compatibility-only call)

Return a list of functions (compatibility-only call).

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
query Parameters
Offset
integer

Number of items to skip from beginning of list (base 0)

Limit
integer

Number of items to return

OrderBy
string
Enum: "Name" "UpdatedAt"

Order the list by these fields. Add a '-' in front of the field to reverse sort and to sort on multiple fields separate them by a comma.

Status
string

filter by status

Catalogue
string <uuid>

filter by catalogue

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new function with a linked remote

Add a new function with a linked remote.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User
Request Body schema: application/json
object (AddLinkData)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/json
{
  • "Alias": "string",
  • "Catalogues": [
    ],
  • "Code": {
    },
  • "Documentation": "string",
  • "Downloads": [
    ],
  • "InputDriver": "string",
  • "InputDriverDetails": { },
  • "Name": "string",
  • "NamedInput": { },
  • "NamedOutput": { },
  • "OutputDriver": "string",
  • "OutputDriverDetails": { },
  • "Source": {
    },
  • "Status": "string",
  • "SyncInformation": {
    },
  • "UUID": "f50af7e0-0dd5-4361-ab96-2e04f7bc7e30",
  • "UpdatedAt": "2019-08-24T14:15:22Z"
}

Return a list of options

Return a list of options.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Return all the source name and url combinations

Return all the source name and url combinations.

Time-out set to 5s. Requires an authenticated user.

Authorizations:
User

Responses

Response samples

Content type
application/json
[
  • {
    }
]

OpenAPI

Return the OpenAPI documentation

Return the OpenAPI documentation.

Responses

Response samples

Content type
application/json
{
  • "Message": "string"
}

Cloud

Return the online status of the service

Return the online status of the service.

Responses

Response samples

Content type
application/json
{
  • "Connected": true
}