Skip to main content

Signaloid Cloud Compute Engine API (0.8.0)

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.

Authentication

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.

API Versioning

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.

API Guides

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.

Cores

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:
ApiKey
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

Content type
application/json
{
  • "UserID": "usr_b0bf834b1ec54d6cb332cc1300efdcba",
  • "Count": 3,
  • "ContinuationKey": "cor_051481609fe04665b576ab066e378257",
  • "Cores": [
    ]
}

Create Core

Creates a new custom Signaloid Core. The new Core becomes available to the account and is returned in the response.

Authorizations:
ApiKey
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

Content type
application/json
{
  • "Name": "My New Custom Core",
  • "Class": "C0",
  • "Microarchitecture": "Athens",
  • "CorrelationTracking": "autocorrelation",
  • "MemorySize": 256000,
  • "Precision": 128
}

Response samples

Content type
application/json
{
  • "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:
ApiKey
path Parameters
CoreID
required
string (CoreID) cor_[a-z0-9]{32}

The identifier of the Core resource.

Responses

Response samples

Content type
application/json
{
  • "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:
ApiKey
path Parameters
CoreID
required
string (CoreID) cor_[a-z0-9]{32}

The identifier of the Core resource.

Responses

Response samples

Content type
application/json
{
  • "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:
ApiKey
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

Content type
application/json
{
  • "Name": "string",
  • "Class": "C0",
  • "Precision": 4,
  • "MemorySize": 256000,
  • "Microarchitecture": "Zurich",
  • "CorrelationTracking": "Autocorrelation"
}

Response samples

Content type
application/json
{
  • "Object": "Core",
  • "CoreID": "string",
  • "Owner": "string",
  • "Name": "string",
  • "Class": "C0",
  • "Precision": 4,
  • "Microarchitecture": "Zurich",
  • "MemorySize": 0,
  • "CorrelationTracking": "Autocorrelation",
  • "CreatedAt": 0,
  • "UpdatedAt": 0
}

Repositories

List connected repositories

Returns the list of git repositories available to the account.

Authorizations:
ApiKey

Responses

Response samples

Content type
application/json
{
  • "UserID": "string",
  • "Repositories": [
    ],
  • "Count": 0,
  • "ContinuationToken": "string"
}

Connect a Repository

Creates a new connection to a git repository. The request must contain the URL of the repository. The response is the created connected repository resource.

Authorizations:
ApiKey
Request Body schema: application/json
RemoteURL
required
string <uri>
Commit
required
string
Branch
required
string
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
required
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
Location
required
string
Object
required
string
Value: "DataSource"
ResourceID
required
string
ResourceType
required
string (resourceType)
Enum: "Gateway" "Bucket" "Drive" "SignaloidCloudStorage"
Array of objects (TraceVariableRequest)

The default variables that the Signaloid Cloud Compute Engine should trace when executing the Repository application.

Array
File
required
string
LineNumber
required
integer >= 0
Expression
required
string

The expression to trace. E.g., x[0]. To learn more about tracing expressions, see the Tracing Variables section in the API Guides.

Responses

Request samples

Content type
application/json
{
  • "RemoteURL": "http://example.com",
  • "Commit": "string",
  • "Branch": "string",
  • "BuildDirectory": "string",
  • "Arguments": "string",
  • "Core": "string",
  • "DataSources": [
    ],
  • "TraceVariables": [
    ]
}

Response samples

Content type
application/json
{
  • "Object": "Repository",
  • "RepositoryID": "string",
  • "Owner": "string",
  • "RemoteURL": "string",
  • "Commit": "string",
  • "Branch": "string",
  • "BuildDirectory": "string",
  • "Arguments": "string",
  • "CreatedAt": 0,
  • "UpdatedAt": 0,
  • "Core": "string",
  • "DataSources": [
    ],
  • "TraceVariables": [
    ]
}

Get Repository

Returns the connected git repository resource identified by the RepositoryID parameter.

Authorizations:
ApiKey
path Parameters
RepositoryID
required
string (RepositoryID) rep_[a-z0-9]{32}

The identifier of the connected Repository resource.

Responses

Response samples

Content type
application/json
{
  • "Object": "Repository",
  • "RepositoryID": "string",
  • "Owner": "string",
  • "RemoteURL": "string",
  • "Commit": "string",
  • "Branch": "string",
  • "BuildDirectory": "string",
  • "Arguments": "string",
  • "CreatedAt": 0,
  • "UpdatedAt": 0,
  • "Core": "string",
  • "DataSources": [
    ],
  • "TraceVariables": [
    ]
}

Delete Repository

Permanently deletes the connected git repository resource identified by the RepositoryID parameter.

Authorizations:
ApiKey
path Parameters
RepositoryID
required
string (RepositoryID) rep_[a-z0-9]{32}

The identifier of the connected Repository resource.

Responses

Response samples

Content type
application/json
{
  • "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:
ApiKey
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
Location
required
string
Object
required
string
Value: "DataSource"
ResourceID
required
string
ResourceType
required
string (resourceType)
Enum: "Gateway" "Bucket" "Drive" "SignaloidCloudStorage"
Array of objects (TraceVariableRequest)

The default variables that the Signaloid Cloud Compute Engine should trace when executing the Repository application.

Array
File
required
string
LineNumber
required
integer >= 0
Expression
required
string

The expression to trace. E.g., x[0]. To learn more about tracing expressions, see the Tracing Variables section in the API Guides.

Responses

Request samples

Content type
application/json
{
  • "RemoteURL": "http://example.com",
  • "Commit": "string",
  • "Branch": "string",
  • "BuildDirectory": "string",
  • "Arguments": "string",
  • "Core": "string",
  • "DataSources": [
    ],
  • "TraceVariables": [
    ]
}

Response samples

Content type
application/json
{
  • "Object": "Repository",
  • "RepositoryID": "string",
  • "Owner": "string",
  • "RemoteURL": "string",
  • "Commit": "string",
  • "Branch": "string",
  • "BuildDirectory": "string",
  • "Arguments": "string",
  • "CreatedAt": 0,
  • "UpdatedAt": 0,
  • "Core": "string",
  • "DataSources": [
    ],
  • "TraceVariables": [
    ]
}

Tasks

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:
ApiKey
query Parameters
expand
string
Value: "Tasks"

By default the response is a list of partial-Task objects with only the TaskID and CreatedAt fields. To get the full Task object, set the expand parameter to "Tasks".

status
string (TaskStatus)
Enum: "Accepted" "Initialising" "Building" "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.

Responses

Response samples

Content type
application/json
{
  • "UserID": "string",
  • "Count": 0,
  • "ContinuationKey": "string",
  • "Tasks": [
    ]
}

Create a Task

Creates a new Task and enqueues it in the Signaloid Cloud Compute Engine. To learn more about Tasks, see the Tasks section in the Signaloid Cloud Developer Platform Documentation.

Authorizations:
ApiKey
Request Body schema: application/json
One of
Type
required
string
Value: "SourceCode"
required
object (SourceCode)
Object
required
string
Value: "SourceCode"
Code
required
string
Language
string
Enum: "C" "C++"

The programming language that the source code is written in. If not specified, the Signaloid Cloud Compute Engine will attempt to compile the source code as C and C++.

Arguments
string
required
object (SourceCodeOverrides)
Arguments
string
Core
required
string (CoreID) cor_[a-z0-9]{32}
Array of objects (DataSources) [ items [ 0 .. 5 ] items ]
Array
Location
required
string
Object
required
string
Value: "DataSource"
ResourceID
required
string
ResourceType
required
string (resourceType)
Enum: "Gateway" "Bucket" "Drive" "SignaloidCloudStorage"
Array of objects (TraceVariables)
Array
File
required
string
LineNumber
required
integer >= 0
Expression
required
string

The expression to trace. E.g., x[0]. To learn more about tracing expressions, see the Tracing Variables section in the API Guides.

Responses

Request samples

Content type
application/json
{
  • "Type": "Repository",
  • "Repository": "rep_d8618faadd62411a9cee1ef0ac91b55f",
  • "Overrides": {
    }
}

Response samples

Content type
application/json
{
  • "Application": {
    },
  • "Object": "Task",
  • "TaskID": "tsk_9a8ec0780a1944559710c6b5da3a0d9a",
  • "Owner": "usr_9aca8b0937e14b429f52a0a5ff2dd98d",
  • "CreatedAt": 1698416159,
  • "UpdatedAt": 1698416159,
  • "FinishedAt": 0,
  • "StartedAt": 0,
  • "Status": "Accepted",
  • "StatusTransitions": [
    ]
}

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:
ApiKey
path Parameters
TaskID
required
string (TaskID) tsk_[a-z0-9]{32}

The identifier of the Task resource.

Responses

Response samples

Content type
application/json
{
  • "Application": {
    },
  • "StatusTransitions": [
    ],
  • "UpdatedAt": 1723107950,
  • "FinishedAt": 1723107950,
  • "Owner": "usr_7c13c605135a4dedb5f688ed9921fe64",
  • "Object": "Task",
  • "StartedAt": 1723107950,
  • "Status": "Completed",
  • "TaskID": "tsk_0458c089402947bbaa27e20c44678be4",
  • "CreatedAt": 1723107948,
  • "Stats": {
    }
}

Cancel Task

Cancels the active Task identified by the TaskID path parameter. To learn more about Tasks, see the Tasks section in the Signaloid Cloud Developer Platform Documentation.

Authorizations:
ApiKey
path Parameters
TaskID
required
string (TaskID) tsk_[a-z0-9]{32}

The identifier of the Task resource.

Responses

Response samples

Content type
application/json
{
  • "error": "Not Found"
}

List Task variables

Returns the list of variables that the Signaloid Cloud Compute Engine discovered in the Task code identified by the TaskID path parameter. To learn more about Tasks, see the Tasks section in the Signaloid Cloud Developer Platform Documentation.

Authorizations:
ApiKey
path Parameters
TaskID
required
string (TaskID) tsk_[a-z0-9]{32}

The identifier of the Task resource.

Responses

Response samples

Content type
application/json
{
  • "TaskID": "tsk_369fd49de2154a28a50fb818c312197e",
  • "Variables": [
    ],
  • "Count": 5
}

Get Task outputs

Returns an object with keys corresponding to the Task output streams. By default, these are stdout, stderr, and build (if present). The returned values are URLs and enable directly downloading the stream contents. We also return a chunked and compressed version of stdout with the key StdoutChunks.

Authorizations:
ApiKey
path Parameters
TaskID
required
string (TaskID) tsk_[a-z0-9]{32}

The identifier of the Task resource.

Responses

Response samples

Content type
application/json
{
  • "Stdout": "string",
  • "Stderr": "string",
  • "Build": "string",
  • "StdoutChunks": [
    ]
}

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:
ApiKey
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

Content type
application/json
{
  • "Samples": [
    ],
  • "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:
ApiKey
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
UxValue
required
string

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "Samples": [
    ],
  • "Count": 32
}

Plots

Plot Value

Plot a Reference Core run Value identified by the TaskID and ValueID query parameters. 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:
ApiKey
query Parameters
taskID
required
string (taskID) tsk_[a-z0-9]{32}

task ID

valueID
required
string (valueID) val_[a-z0-9]{32}

value ID

Request Body schema: application/json
payload
required
string

Responses

Request samples

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

Response samples

Content type
application/json