Signaloid Cloud Compute Engine API (1.0.0)
Download OpenAPI specification:Download
This is the Signaloid Cloud Compute Engine API OpenAPI specification. Signaloid provides a computing platform to quantify, transmit, and track data uncertainty dynamically and throughout computations in unmodified computing workloads. The Signaloid Cloud Compute Engine API enables you to interface with the Signaloid Cloud Compute Engine programmatically.
The Signaloid Cloud Compute Engine API currently offers authentication
using API keys. Authentication is required for all API requests and the
request must include the API key it in the Authentication
header.
Read more about how to obtain a API key in the
Authentication guide.
The Signaloid Cloud Compute Engine API is in beta. We make every effort to maintain backwards compatibility, but we reserve the right to make breaking changes to the API while still in beta. We will announce breaking changes in the Signaloid Cloud Platform Release Notes.
The current page is the API reference. For more information about how to use the Signaloid Cloud API in your application and combine different requests, see the API Guides.
List Cores
Returns the list of custom Signaloid cores available to the account. The response does not include the default cores available to all accounts.
Authorizations:
query Parameters
default | boolean By default this API will return your custom cores. By providing this parameter you will get back the default cores, created and managed by Signaloid for you. |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "UserID": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
- "Count": 3,
- "ContinuationKey": "cor_051481609fe04665b576ab066e378257",
- "Cores": [
- {
- "Object": "Core",
- "CoreID": "cor_051481609fe04665b576ab066e378257",
- "Owner": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
- "CreatedAt": 1670405103,
- "UpdatedAt": 1670405103,
- "Name": "My Custom Athens Core",
- "Class": "C0",
- "Microarchitecture": "Athens",
- "CorrelationTracking": "disable",
- "MemorySize": 2000000,
- "Precision": 32
}, - {
- "Object": "Core",
- "CoreID": "cor_3c336f8d8dd343a2b91ca278de0ba32c",
- "Owner": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
- "CreatedAt": 1669821723,
- "UpdatedAt": 1669908393,
- "Name": "Custom Reference Core",
- "Class": "C0",
- "Microarchitecture": "Reference",
- "CorrelationTracking": "disable",
- "MemorySize": 32000000,
- "Precision": 8
}, - {
- "Object": "Core",
- "CoreID": "cor_cd6071a8c67f4a8caad3a8950417d703",
- "Owner": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
- "CreatedAt": 1669822394,
- "UpdatedAt": 1669822394,
- "Name": "Enceladus",
- "Class": "C0",
- "Microarchitecture": "Athens",
- "CorrelationTracking": "autocorrelation",
- "MemorySize": 2000000,
- "Precision": 512
}
]
}
Create Core
Creates a new custom Signaloid Core. The new Core becomes available to the account and is returned in the response.
Authorizations:
Request Body schema: application/json
Name required | string non-empty |
Class required | string Enum: "C0" "C0Pro" |
Precision required | integer [ 4 .. 1000000 ] The precision of the core. The minimum value is 4. The maximum value is 8000 for the Athens and Zurich Microarchitectures, and 1000000 (1M) for the Reference Microarchitecture. |
MemorySize required | integer [ 256000 .. 4000000000 ] |
Microarchitecture required | string (Microarchitecture) Enum: "Zurich" "Athens" "Bypass" "Reference" |
CorrelationTracking required | string (CorrelationTracking) Enum: "Autocorrelation" "Disable" The value is case-insensitive. |
Responses
Request samples
- Payload
{- "Name": "My New Custom Core",
- "Class": "C0",
- "Microarchitecture": "Athens",
- "CorrelationTracking": "autocorrelation",
- "MemorySize": 256000,
- "Precision": 128
}
Response samples
- 201
- 400
- 401
- 403
- 500
{- "Object": "Core",
- "CoreID": "cor_3ff9395ee9494f3d91a8e1b5999d737e",
- "Owner": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
- "CreatedAt": 1677025457,
- "UpdatedAt": 1677025457,
- "Name": "My New Custom Core",
- "Class": "C0",
- "Microarchitecture": "Athens",
- "CorrelationTracking": "autocorrelation",
- "MemorySize": 256000,
- "Precision": 128
}
Get Core
Returns the custom Signaloid core identified by the CoreID
path
parameter.
Authorizations:
path Parameters
CoreID required | string (CoreID) cor_[a-z0-9]{32} The identifier of the Core resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "Object": "Core",
- "CoreID": "string",
- "Owner": "string",
- "Name": "string",
- "Class": "C0",
- "Precision": 4,
- "Microarchitecture": "Zurich",
- "MemorySize": 0,
- "CorrelationTracking": "Autocorrelation",
- "CreatedAt": 0,
- "UpdatedAt": 0
}
Delete Core
Permanently deletes the custom Signaloid core identified by the CoreID
parameter.
Authorizations:
path Parameters
CoreID required | string (CoreID) cor_[a-z0-9]{32} The identifier of the Core resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "message": "OK"
}
Update Core
Updates the custom Signaloid core identified by the CoreID
parameter.
This method is useful for updating the core of a specific CoreID
without having to edit integrations that use this core. The request must
change at least one of the editable Core properties for the Signaloid
Cloud API to accept it. The response is the edited core.
Authorizations:
path Parameters
CoreID required | string (CoreID) cor_[a-z0-9]{32} The identifier of the Core resource. |
Request Body schema: application/json
Name required | string non-empty |
Class required | string Enum: "C0" "C0Pro" |
Precision required | integer [ 4 .. 1000000 ] The precision of the core. The minimum value is 4. The maximum value is 8000 for the Athens and Zurich Microarchitectures, and 1000000 (1M) for the Reference Microarchitecture. |
MemorySize required | integer [ 256000 .. 4000000000 ] |
Microarchitecture required | string (Microarchitecture) Enum: "Zurich" "Athens" "Bypass" "Reference" |
CorrelationTracking required | string (CorrelationTracking) Enum: "Autocorrelation" "Disable" The value is case-insensitive. |
Responses
Request samples
- Payload
{- "Name": "string",
- "Class": "C0",
- "Precision": 4,
- "MemorySize": 256000,
- "Microarchitecture": "Zurich",
- "CorrelationTracking": "Autocorrelation"
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 500
{- "message": "OK"
}
List connected repositories
Returns the list of git repositories available to the account.
Authorizations:
Responses
Response samples
- 200
- 401
- 404
- 500
{- "UserID": "string",
- "Repositories": [
- {
- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
], - "Count": 0,
- "ContinuationKey": "string"
}
Connect a Repository
Creates a new connection to a git repository. The request must contain the URL of the repository, commit, branch, and build directory. The response is the created connected repository resource.
Authorizations:
Request Body schema: application/json
RemoteURL required | string <uri> The URL of the git repository. | ||||||
Commit required | string The commit hash to check out. | ||||||
Branch required | string The branch name to check out. | ||||||
BuildDirectory required | string The directory in the repository where the Signaloid Cloud Engine should use as working directory when attempting to build the repository application. This directory is relative to the root of the repository. | ||||||
Arguments | string Default command-line arguments that the Signaloid Cloud Engine should pass when executing the built repository application. | ||||||
Core | string (CoreID) cor_[a-z0-9]{32} | ||||||
Array of objects (DataSources) [ items [ 0 .. 5 ] items ] | |||||||
Array
| |||||||
Array of objects (TraceVariableRequest) The default variables that the Signaloid Cloud Compute Engine should trace when executing the Repository application. | |||||||
Array
|
Responses
Request samples
- Payload
{- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
]
}
Response samples
- 201
- 400
- 401
- 403
- 500
{- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
Get Repository
Returns the connected git repository resource identified by the
RepositoryID
parameter.
Authorizations:
path Parameters
RepositoryID required | string (RepositoryID) rep_[a-z0-9]{32} The identifier of the connected Repository resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
Delete Repository
Permanently deletes the connected git repository resource identified by
the RepositoryID
parameter.
Authorizations:
path Parameters
RepositoryID required | string (RepositoryID) rep_[a-z0-9]{32} The identifier of the connected Repository resource. |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "message": "OK"
}
Update Repository
Updates the connected git repository resource identified by the
RepositoryID
parameter. This method is useful for updating the
connected repository resource of a specific RepositoryID
(e.g., to
change the branch it points at) without having to edit integrations that
use this repository. The request must change at least one of the
editable repository properties for the Signaloid Cloud API to accept it.
The response is the edited repository resource.
Authorizations:
path Parameters
RepositoryID required | string (RepositoryID) rep_[a-z0-9]{32} The identifier of the connected Repository resource. |
Request Body schema: application/json
RemoteURL | string <uri> | ||||||
Commit | string | ||||||
Branch | string | ||||||
BuildDirectory | string The directory in the repository where the Signaloid Cloud Engine should use as working directory when attempting to build the repository application. This directory is relative to the root of the repository. | ||||||
Arguments | string Default command-line arguments that the Signaloid Cloud Engine should pass when executing the built repository application. | ||||||
Core | string (CoreID) cor_[a-z0-9]{32} | ||||||
Array of objects (DataSources) [ items [ 0 .. 5 ] items ] | |||||||
Array
| |||||||
Array of objects (TraceVariableRequest) The default variables that the Signaloid Cloud Compute Engine should trace when executing the Repository application. | |||||||
Array
|
Responses
Request samples
- Payload
{- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
]
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
Create Build from Repository
Creates a new build from the specified repository.
Authorizations:
path Parameters
RepositoryID required | string (RepositoryID) rep_[a-z0-9]{32} The identifier of the connected Repository resource. |
query Parameters
DiscoverVariables | string Enum: "true" "false" If set to "true", the build will attempt to discover variables that can be traced. |
Request Body schema: application/json
CoreID | string (CoreID) cor_[a-z0-9]{32} | ||||||
Array of objects (TraceVariableRequest) Variables to trace in the built application. If not provided, will use the repository's defaults. | |||||||
Array
| |||||||
Array of objects (DataSources) [ items [ 0 .. 5 ] items ] | |||||||
Array
| |||||||
Arguments | string Command-line arguments to pass to the application. If not provided, will use the repository's defaults. |
Responses
Request samples
- Payload
{- "CoreID": "string",
- "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "Arguments": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
{- "BuildID": "string"
}
Create Build from Repository
Creates a new build from the specified repository.
Authorizations:
path Parameters
RepositoryID required | string (RepositoryID) rep_[a-z0-9]{32} The identifier of the connected Repository resource. |
query Parameters
DiscoverVariables | string Enum: "true" "false" If set to "true", the build will attempt to discover variables that can be traced. |
Request Body schema: application/json
CoreID | string (CoreID) cor_[a-z0-9]{32} | ||||||
Array of objects (TraceVariableRequest) Variables to trace in the built application. If not provided, will use the repository's defaults. | |||||||
Array
| |||||||
Array of objects (DataSources) [ items [ 0 .. 5 ] items ] | |||||||
Array
| |||||||
Arguments | string Command-line arguments to pass to the application. If not provided, will use the repository's defaults. |
Responses
Request samples
- Payload
{- "CoreID": "string",
- "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "Arguments": "string"
}
Response samples
- 202
- 400
- 401
- 403
- 404
{- "BuildID": "string"
}
List Builds
Returns the list of builds.
Authorizations:
query Parameters
startKey | string The BuildID to start from when returning the list of builds. Used for paginating responses. |
from | string <date-time> Filter builds by creation date - only include builds created on or after this date. |
to | string <date-time> Filter builds by creation date - only include builds created on or before this date. |
status | string (BuildStatus) Enum: "Accepted" "Initialising" "Rescheduled" "In Progress" "Completed" "Cancelled" "Stopped" Filter the list of builds by status. |
Responses
Response samples
- 200
- 401
{- "UserID": "string",
- "Builds": [
- {
- "BuildID": "string",
- "Owner": "string",
- "Status": "Accepted",
- "StatusTransitions": [
- {
- "Status": "string",
- "Timestamp": 0,
- "Message": "string"
}
], - "StartedAt": 0,
- "DefaultArguments": "string",
- "DefaultDataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "Application": {
- "Type": "SourceCode",
- "SourceCode": {
- "Code": "string",
- "Language": "C",
- "Arguments": "string"
}, - "Repository": {
- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
}, - "UpdatedAt": 0,
- "CreatedAt": 0,
- "FinishedAt": 0,
- "BuildArtifactAvailable": true,
- "BuildCoreSpecs": {
- "Class": "string",
- "Precision": 0,
- "MemorySize": 0,
- "Microarchitecture": "string",
- "CorrelationTracking": "string"
}, - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "Stats": {
- "BuildTimeInMilliseconds": 0,
- "BuildSizeInBytes": 0,
- "CreatedAt": 0
}
}
], - "Count": 0,
- "ContinuationKey": "string"
}
Get Build
Returns the build resource identified by the BuildID
path parameter.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "BuildID": "string",
- "Owner": "string",
- "Status": "Accepted",
- "StatusTransitions": [
- {
- "Status": "string",
- "Timestamp": 0,
- "Message": "string"
}
], - "StartedAt": 0,
- "DefaultArguments": "string",
- "DefaultDataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "Application": {
- "Type": "SourceCode",
- "SourceCode": {
- "Code": "string",
- "Language": "C",
- "Arguments": "string"
}, - "Repository": {
- "Object": "Repository",
- "RepositoryID": "string",
- "Owner": "string",
- "Commit": "string",
- "Branch": "string",
- "BuildDirectory": "string",
- "Arguments": "string",
- "Core": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "CreatedAt": 0,
- "UpdatedAt": 0
}
}, - "UpdatedAt": 0,
- "CreatedAt": 0,
- "FinishedAt": 0,
- "BuildArtifactAvailable": true,
- "BuildCoreSpecs": {
- "Class": "string",
- "Precision": 0,
- "MemorySize": 0,
- "Microarchitecture": "string",
- "CorrelationTracking": "string"
}, - "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
], - "Stats": {
- "BuildTimeInMilliseconds": 0,
- "BuildSizeInBytes": 0,
- "CreatedAt": 0
}
}
Delete Build
Permanently deletes the build asset identified by the BuildID
path parameter.
This operation cannot be performed on active builds.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
Responses
Response samples
- 400
- 401
- 404
- 409
- 500
{- "error": "Bad Request",
- "message": "string"
}
Get Build Binary
Returns a pre-signed URL to download the binary artifact for the build identified by the BuildID
path parameter.
This is only available for builds with C0-microSD core class.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{
}
Get Build Variables
Returns the list of variables discovered in the build.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
query Parameters
startKey | string The key to start from when returning the list of variables. Used for paginating responses. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "BuildID": "string",
- "Variables": [
- {
- "Object": "Variable",
- "Name": "string",
- "Type": "Variable",
- "File": "string",
- "Line": 0,
- "Function": "string"
}
], - "Count": 0,
- "ContinuationKey": "string"
}
Cancel Build
Cancels an active build identified by the BuildID
path parameter.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 409
- 500
{- "Message": "Cancel Build Signal sent"
}
List Build Tasks
Returns the list of tasks associated with the specified build.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
query Parameters
startKey | string The key to start from when returning the list of tasks. Used for paginating responses. |
from | string <date-time> Filter tasks by creation date - only include tasks created on or after this date. |
to | string <date-time> Filter tasks by creation date - only include tasks created on or before this date. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "BuildID": "string",
- "Tasks": [
- {
- "TaskID": "string",
- "BuildID": "string",
- "Owner": "string",
- "Status": "Accepted",
- "StatusTransitions": [
- {
- "Status": "string",
- "Timestamp": 0,
- "Message": "string"
}
], - "Arguments": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "StartedAt": 0,
- "UpdatedAt": 0,
- "CreatedAt": 0,
- "FinishedAt": 0,
- "Stats": {
- "DynamicInstructions": 0,
- "ProcessorTime": 0,
- "ExecutionTimeInMilliseconds": 0
}
}
], - "Count": 0,
- "ContinuationKey": "string"
}
Create Task from Build
Creates a new task using the specified build.
Authorizations:
path Parameters
BuildID required | string (BuildID) bld_[a-z0-9]{32} The identifier of the Build resource. |
Request Body schema: application/json
Arguments | string Command-line arguments to pass to the application. | ||||||
Array of objects (DataSources) [ items [ 0 .. 5 ] items ] | |||||||
Array
|
Responses
Request samples
- Payload
{- "Arguments": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
]
}
Response samples
- 202
- 400
- 401
- 403
- 404
- 500
{- "TaskID": "string"
}
Create Build From Single-file Source Code
Creates a new build from a single-file source code. The source code is compiled and built using the specified core.
Authorizations:
query Parameters
DiscoverVariables | string Enum: "true" "false" If set to "true", the build will attempt to discover variables that can be traced. |
Request Body schema: application/json
Code required | string The source code to build. Can be provided as plain text or Base64 encoded. | ||||||
Language required | string Enum: "C" "C++" "Fortran" The programming language of the source code. | ||||||
CoreID | string The ID of the core to use for building. If not provided, a default core will be used. | ||||||
Array of objects (TraceVariableRequest) | |||||||
Array
|
Responses
Request samples
- Payload
{- "Code": "string",
- "Language": "C",
- "CoreID": "string",
- "TraceVariables": [
- {
- "File": "string",
- "LineNumber": 0,
- "Expression": "string"
}
]
}
Response samples
- 202
- 400
- 401
- 404
- 500
{- "BuildID": "string"
}
List Tasks
Returns the list of Tasks in the account. The list is sorted by field
CreatedAt
in descending order. To learn more about Tasks, see the Tasks section
in the Signaloid Cloud Platform Documentation.
Authorizations:
query Parameters
status | string (TaskStatus) Enum: "Accepted" "Initialising" "Rescheduled" "In Progress" "Completed" "Cancelled" "Stopped" Filter the list of Tasks by status. Required to expand Tasks. By default the list includes all Tasks. To filter the list by status set the status query parameter to a valid Status value. |
startKey | string (TaskID) tsk_[a-z0-9]{32} The TaskID to start from when returning the list of Tasks. Use for paginating responses. |
from | string <date-time> Filter tasks by creation date - only include tasks created on or after this date. |
to | string <date-time> Filter tasks by creation date - only include tasks created on or before this date. |
Responses
Response samples
- 200
- 401
- 500
{- "UserID": "string",
- "Count": 0,
- "ContinuationKey": "string",
- "Tasks": [
- {
- "TaskID": "string",
- "BuildID": "string",
- "Owner": "string",
- "Status": "Accepted",
- "StatusTransitions": [
- {
- "Status": "string",
- "Timestamp": 0,
- "Message": "string"
}
], - "Arguments": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "StartedAt": 0,
- "UpdatedAt": 0,
- "CreatedAt": 0,
- "FinishedAt": 0,
- "Stats": {
- "DynamicInstructions": 0,
- "ProcessorTime": 0,
- "ExecutionTimeInMilliseconds": 0
}
}
]
}
Get Task
Returns the Task resource identified by the TaskID
path parameter. To
learn more about Tasks, see the Tasks section in the Signaloid Cloud
Developer Platform Documentation.
Authorizations:
path Parameters
TaskID required | string (TaskID) tsk_[a-z0-9]{32} The identifier of the Task resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "TaskID": "string",
- "BuildID": "string",
- "Owner": "string",
- "Status": "Accepted",
- "StatusTransitions": [
- {
- "Status": "string",
- "Timestamp": 0,
- "Message": "string"
}
], - "Arguments": "string",
- "DataSources": [
- {
- "Location": "string",
- "ResourceID": "string",
- "ResourceType": "Gateway"
}
], - "StartedAt": 0,
- "UpdatedAt": 0,
- "CreatedAt": 0,
- "FinishedAt": 0,
- "Stats": {
- "DynamicInstructions": 0,
- "ProcessorTime": 0,
- "ExecutionTimeInMilliseconds": 0
}
}
Delete Task
Permanently deletes the Task identified by the TaskID
path parameter.
This operation cannot be performed on active tasks.
Authorizations:
path Parameters
TaskID required | string (TaskID) tsk_[a-z0-9]{32} The identifier of the Task resource. |
Responses
Response samples
- 400
- 401
- 404
- 409
- 500
{- "error": "Bad Request",
- "message": "string"
}
Cancel Task
Cancels the active Task identified by the TaskID
path parameter.
Authorizations:
path Parameters
TaskID required | string (TaskID) tsk_[a-z0-9]{32} The identifier of the Task resource. |
Responses
Response samples
- 202
- 400
- 401
- 404
- 409
- 500
{- "Message": "Cancel Task Signal sent"
}
Get Task Outputs
Returns URLs to the output files associated with the task.
Authorizations:
path Parameters
TaskID required | string (TaskID) tsk_[a-z0-9]{32} The identifier of the Task resource. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "Stdout": "string",
- "Stderr": "string",
- "StdoutChunks": [
- "string"
]
}
Get Task Stream Output
Returns the requested output (Stdout or Stderr) for a specific task. Returns the plain text output, or a redirect to a download URL if output is larger than 5 MB. Optional query param to skip cache.
Authorizations:
path Parameters
TaskID required | string Task ID |
Stream required | string Output stream (Stdout or Stderr) |
query Parameters
skipCache | boolean If true, bypass cache |
Responses
Response samples
- 200
- 302
- 400
- 500
"string"
List of generated samples in Reference Core runs
Returns the list of samples that were generated for the provided ValueID during the Reference Core task with the provided TaskID. In Reference Core Tasks, the Value identifiers (ValueID) are part of the standard output streams.
Authorizations:
path Parameters
TaskID required | string (TaskID) tsk_[a-z0-9]{32} The identifier of the Task resource. |
ValueID required | string (valueID) val_[a-z0-9]{32} The identifier of the Value resource. |
query Parameters
count | integer [ 0 .. 100000 ] Default: 1000 By default this API will return up to 1000 samples. By providing this parameter you can specify the number of samples returned. This parameter has a maximum limit of 100000. |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "Samples": [
- -1.0824527064791272,
- -1.1310969119258107,
- -1.0961994836548592,
- -1.0720671348781252,
- -1.1521749654880011,
- -1.1528152657116664,
- -1.1087047905171288,
- -1.1326621923296623,
- -1.0653820188992815,
- -1.0858505883930254,
- -1.1296963560287887,
- -1.1013858150162135,
- -1.0817764623439143,
- -1.1775805891128661,
- -1.070222023706863,
- -1.0750953816720847,
- -1.1568745145008779,
- -1.1036719268767403,
- -1.0878985057236494,
- -1.0993357638716614,
- -1.1407131752971837,
- -1.1437027951679817,
- -1.0901123548429996,
- -1.0891835247279822,
- -1.1566131594680455,
- -1.1163989797228004,
- -1.1022456684084043,
- -1.1367967100453717,
- -1.0960555317070564,
- -1.112673925381313,
- -1.1045915034476725,
- -1.1336645059101502
], - "Count": 32
}
Random samples from hexadecimal ("Ux") data
Returns a list of random samples from the provided Hexadecimal ("Ux") Data Format (Ux string). In non-Reference Core Tasks, distributions encoded as Ux strings are part of the standard output streams."
Authorizations:
query Parameters
count | integer [ 0 .. 100000 ] Default: 1000 By default this API will return up to 1000 samples. By providing this parameter you can specify the number of samples returned. This parameter has a maximum limit of 100000. |
Request Body schema: application/json
payload required | string |
Responses
Request samples
- Payload
{- "payload": "string"
}
Response samples
- 200
- 401
- 404
- 500
{- "Samples": [
- -1.0824527064791272,
- -1.1310969119258107,
- -1.0961994836548592,
- -1.0720671348781252,
- -1.1521749654880011,
- -1.1528152657116664,
- -1.1087047905171288,
- -1.1326621923296623,
- -1.0653820188992815,
- -1.0858505883930254,
- -1.1296963560287887,
- -1.1013858150162135,
- -1.0817764623439143,
- -1.1775805891128661,
- -1.070222023706863,
- -1.0750953816720847,
- -1.1568745145008779,
- -1.1036719268767403,
- -1.0878985057236494,
- -1.0993357638716614,
- -1.1407131752971837,
- -1.1437027951679817,
- -1.0901123548429996,
- -1.0891835247279822,
- -1.1566131594680455,
- -1.1163989797228004,
- -1.1022456684084043,
- -1.1367967100453717,
- -1.0960555317070564,
- -1.112673925381313,
- -1.1045915034476725,
- -1.1336645059101502
], - "Count": 32
}
Plot Value ID
Plot a Reference Core run output value identified by the TaskID
and ValueID
query parameters.
Returns a PlotID
and a direct URL that can be used to retrieve the
plot image.
Authorizations:
query Parameters
taskID required | string (taskID) tsk_[a-z0-9]{32} task ID |
valueID required | string (valueID) val_[a-z0-9]{32} value ID |
Responses
Plot Ux String
Plot a Laplace Core run Ux string by passing into the body of the request.
Returns a PlotID
and a direct URL that can be used to retrieve the
plot image.
Authorizations:
Request Body schema: application/json
payload required | string |
Responses
Request samples
- Payload
{- "payload": "string"
}
List Files or Directories
Authorizations:
query Parameters
path | string Directory to list. Defaults to the root directory ( |
startKey | string Continuation token for paginated results. |
Responses
Response samples
- 200
- 400
- 401
- 500
{- "count": 0,
- "items": [
- {
- "path": "string",
- "last_modified": 0,
- "size": 0,
- "etag": "string"
}
], - "nextContinuationToken": "string"
}
Download a file or list a directory
Authorizations:
path Parameters
path required | string The relative path to the file or directory. |
query Parameters
download | boolean If provided, downloads the specified file. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "count": 6,
- "items": [
- {
- "etag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
- "last_modified": 1665672906000,
- "path": "",
- "size": 0
}, - {
- "etag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
- "last_modified": 1665672906000,
- "path": "Signaloid/",
- "size": 0
}, - {
- "etag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
- "last_modified": 1665672906000,
- "path": "Signaloid/example-loadDistFromFile/",
- "size": 0
}, - {
- "etag": "\"18cedf0c989594d5d7b66d58ac2a499d\"",
- "last_modified": 1665672906000,
- "path": "Signaloid/example-loadDistFromFile/example.csd",
- "size": 4205
}, - {
- "etag": "\"3c41b0823f05cf86da0d560b0e033c03\"",
- "last_modified": 1665672907000,
- "path": "Signaloid/example-loadDistFromFile/example.csv",
- "size": 21
}, - {
- "etag": "\"d41d8cd98f00b204e9800998ecf8427e\"",
- "last_modified": 1666947334000,
- "path": "sampleDir/",
- "size": 0
}
]
}
Upload a file or create a directory
Authorizations:
path Parameters
path required | string The relative path where the file or directory will be created. |
query Parameters
directory | boolean If provided, creates a directory at the specified path. |
size | integer The size of the file to be uploaded, in bytes. Required for file uploads. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 500
{- "message": "string",
- "upload_url": "string"
}
Delete a file or directory
Authorizations:
path Parameters
path required | string The relative path to the file or directory to delete. |
query Parameters
recursive | boolean If provided, deletes directories and their contents recursively. Valid only for directories. |
directory | boolean If provided, specifies that the path refers to a directory. |
Responses
Response samples
- 200
- 400
- 401
- 404
- 500
{- "message": "string"
}
Get system health status
Returns the health status of Signaloid Cloud services.
The health check system monitors:
- Signaloid Cloud Developer Platform (SCDP)
- Signaloid Cloud Compute Engine (SCCE) API
- SCCE Compute Engine
- SCCE Build Engine
Authorizations:
Responses
Response samples
- 200
- 500
{- "timestamp": "2025-05-16T13:55:25.605Z",
- "services": [
- {
- "service": "scdp",
- "status": "healthy",
- "timestamp": "2025-05-16T13:55:13.205Z",
- "details": {
- "responseTime": 147
}
}, - {
- "service": "scce-api",
- "status": "healthy",
- "timestamp": "2025-05-16T13:54:55.718Z",
- "details": {
- "responseTime": 1103,
- "endpoints": {
- "builds": {
- "status": 200,
- "responseTime": 810
}, - "tasks": {
- "status": 200,
- "responseTime": 182
}
}
}
}, - {
- "service": "scce-compute",
- "status": "healthy",
- "timestamp": "2025-05-16T13:45:51.347Z",
- "details": {
- "responseTime": 5660,
- "taskStatus": {
- "id": "tsk_54b1033f215343ecb714c687eee74220",
- "status": "Completed",
- "duration": 5506
}
}
}, - {
- "service": "scce-build",
- "status": "healthy",
- "timestamp": "2025-05-16T13:45:44.654Z",
- "details": {
- "responseTime": 14263,
- "buildStatus": {
- "id": "bld_2858641292e34c3186ae0058526fcccd",
- "status": "Completed",
- "duration": 14170
}, - "repoBuildStatus": {
- "id": "bld_765567fee84f4f47838ffee7e16c9ca7",
- "status": "Completed",
- "duration": 13423
}
}
}
]
}
Create a new webhook
Creates a new webhook endpoint for receiving event notifications.
Available Webhook Events
The infrastructure API supports webhook notifications for the following events:
1. Task Status Changed (task-status
)
Triggered when a task's status changes through any of these states:
Initializing
- Task is being set upIn Progress
- Task is actively runningCompleted
- Task finished successfullyCancelled
- Task was cancelled by userStopped
- Task was stopped by systemFailed
- Task encountered an error
Payload includes: taskId
, status
, message
, and updatedAt
.
2. Build Status Changed (build-status
)
Triggered when a build's status changes through any of these states:
Initializing
- Build is being set upIn Progress
- Build is actively runningCompleted
- Build finished successfullyCancelled
- Build was cancelled by userStopped
- Build was stopped by systemFailed
- Build encountered an error
Payload includes: buildId
, status
, message
, and updatedAt
.
3. Task Count Changed (task-count
)
Triggered when a user's task count changes (tasks created or completed).
Payload includes: userId
, IncrementTaskCount
, and DecrementTaskCount
.
4. Build Count Changed (build-count
)
Triggered when a user's build count changes (builds created or completed).
Payload includes: userId
, IncrementBuildCount
, and DecrementBuildCount
.
5. Task Stats Changed (task-stats
)
Triggered when a user's task execution stats are updated.
Payload includes: userId
, TotalDynamicInstructions
, and TotalExecutionTime
.
6. Build Stats Changed (build-stats
)
Triggered when a user's build stats are updated.
Payload includes: userId
, TotalBuildSize
, and TotalBuildTime
.
Webhook Payload Structure
All webhook payloads follow this consistent structure:
{
"version": "1.0",
"eventType": "task-status|build-status|task-count|build-count|task-stats|build-stats",
"userId": "usr_[32-char-alphanumeric]",
"timestamp": "2024-03-20T10:00:00Z",
"data": {
// Event-specific data varies by event type
}
}
Security
- All webhooks include a signature header for verification
- Webhooks support retry logic for failed deliveries
- Rate limiting applies to webhook deliveries
Authorizations:
Request Body schema: application/json
url required | string <uri> The URL where webhook events will be sent |
events required | Array of strings Items Enum: "task-status" "build-status" "task-stats" "build-stats" "task-count" "build-count" List of events to subscribe to |
description | string Optional description of the webhook |
Responses
Request samples
- Payload
{- "events": [
- "task-status",
- "build-status"
], - "description": "Test webhook"
}
Response samples
- 201
- 400
- 401
- 500
{- "WebhookID": "wh-1234567890abcdef1234567890abcdef",
- "Events": [
- "task-status",
- "build-status"
], - "Description": "Test webhook",
- "Status": "active",
- "Secret": "whsec_1234567890abcdef1234567890abcdef",
- "CreatedAt": "2025-05-19T16:37:44.962Z",
- "UpdatedAt": "2025-05-19T16:37:44.962Z",
- "FailureCount": 0,
- "LastDeliveryStatus": null,
- "LastDeliveryTime": null,
- "Object": "webhook"
}
List all webhooks
Retrieves a list of all webhooks for the authenticated user
Authorizations:
Responses
Response samples
- 200
- 401
- 500
{- "webhooks": [
- {
- "WebhookID": "wh-1234567890abcdef1234567890abcdef",
- "Events": [
- "task-status",
- "build-status"
], - "Description": "Test webhook",
- "Status": "active",
- "Secret": "whsec_1234567890abcdef1234567890abcdef",
- "CreatedAt": "2025-05-19T16:37:44.962Z",
- "UpdatedAt": "2025-05-19T16:37:44.962Z",
- "FailureCount": 0,
- "LastDeliveryStatus": null,
- "LastDeliveryTime": null,
- "Object": "webhook"
}
], - "count": 4
}
Get a webhook
Retrieves details of a specific webhook.
Authorizations:
path Parameters
WebhookID required | string The webhook ID |
Responses
Response samples
- 200
- 401
- 404
- 500
{- "WebhookID": "wh-1234567890abcdef1234567890abcdef",
- "Events": [
- "task-status",
- "build-status"
], - "Description": "Test webhook",
- "Status": "active",
- "Secret": "whsec_1234567890abcdef1234567890abcdef",
- "CreatedAt": "2025-05-19T16:37:44.962Z",
- "UpdatedAt": "2025-05-19T16:37:44.962Z",
- "FailureCount": 0,
- "LastDeliveryStatus": null,
- "LastDeliveryTime": null,
- "Object": "webhook"
}
Update a webhook
Updates the configuration of an existing webhook.
Authorizations:
path Parameters
WebhookID required | string The webhook ID |
Request Body schema: application/json
url | string <uri> |
events | Array of strings Items Enum: "task-status" "build-status" "task-stats" "build-stats" "task-count" "build-count" |
description | string |
status | string Enum: "active" "disabled" |
Responses
Request samples
- Payload
{- "events": [
- "task-status",
- "build-status"
], - "description": "Updated test webhook",
- "status": "disabled"
}
Response samples
- 200
- 400
- 401
- 404
- 500
{- "WebhookID": "wh-1234567890abcdef1234567890abcdef",
- "Events": [
- "task-status",
- "build-status"
], - "Description": "Test webhook",
- "Status": "active",
- "Secret": "whsec_1234567890abcdef1234567890abcdef",
- "CreatedAt": "2025-05-19T16:37:44.962Z",
- "UpdatedAt": "2025-05-19T16:37:44.962Z",
- "FailureCount": 0,
- "LastDeliveryStatus": null,
- "LastDeliveryTime": null,
- "Object": "webhook"
}
WebSocket connection endpoint for real-time events
AWS AppSync Event API endpoint for WebSocket connections to receive real-time events. This is a WebSocket-only endpoint that supports both JWT and API Key authentication.
Available Channels
The infrastructure API supports real-time events through the following channels:
1. Build Status (build-status/{userId}
)
Notifies about build lifecycle state changes:
Accepted
- Build request has been acceptedInitializing
- Build environment is being set upIn Progress
- Build is actively runningRescheduled
- Build has been rescheduledCompleted
- Build finished successfullyCancelled
- Build was cancelled by userStopped
- Build was stopped by system
Payload includes: buildId
, status
, message
, and timestamp
.
2. Task Status (task-status/{userId}
)
Notifies about task lifecycle state changes:
Accepted
- Task request has been acceptedInitializing
- Task environment is being set upIn Progress
- Task is actively runningRescheduled
- Task has been rescheduledCompleted
- Task finished successfullyCancelled
- Task was cancelled by userStopped
- Task was stopped by system
Payload includes: taskId
, status
, message
, and timestamp
.
3. Build Stats (build-stats/{userId}
)
Provides build stats updates:
TotalBuildSize
- Size of the build in bytesTotalBuildTime
- Total build time in seconds
Payload includes: buildId
, TotalBuildSize
, and TotalBuildTime
.
4. Task Stats (task-stats/{userId}
)
Provides task stats updates:
TotalDynamicInstructions
- Number of dynamic instructions executedTotalExecutionTime
- Total execution time in milliseconds
Payload includes: taskId
, TotalDynamicInstructions
, and TotalExecutionTime
.
5. Build Count (build-count/{userId}
)
Updates about build count changes:
IncrementBuildCount
- Number of builds addedDecrementBuildCount
- Number of builds removed
Payload includes: userId
, IncrementBuildCount
, and DecrementBuildCount
.
6. Task Count (task-count/{userId}
)
Updates about task count changes:
IncrementTaskCount
- Number of tasks addedDecrementTaskCount
- Number of tasks removed
Payload includes: userId
, IncrementTaskCount
, and DecrementTaskCount
.
Channel ID Helper
Use the following helper function to extract the correct portion of IDs:
function idToChannel(signaloidUserId) {
return id.split("_")[1];
}
Connection Protocol
- Connect with authorization header
- Send connection_init message
- Receive connection_ack
- Subscribe to channels
Authentication
The WebSocket endpoint must be configured with a valid API key or JWT token. All messages are signed for verification.
Message Structure
All WebSocket messages follow this consistent structure:
{
"type": "connection_init|connection_ack|subscribe|subscribe_success|data|error|ka",
"id": "123e4567-e89b-12d3-a456-426614174000",
"channel": "builds/bld_123/status",
"payload": {
// Channel-specific data varies by event type
}
}
Authorizations:
header Parameters
Authorization required | string Base64 URL encoded authorization header. Format:
{
"host": "your-appsync-domain",
"authorization": "Bearer |
Sec-WebSocket-Protocol required | string WebSocket protocol header. Must include:
|
Responses
Response samples
- 101
{- "type": "connection_init"
}