4. Server API#

4.1. delete_job#

4.1.1. Request#

Schema describing parameters for deleting project data from remote storage.

Username
description

User account ID. Required for authentication if the data was originally imported by a valid user.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Password or Base64-encoded decryption key for the user account, depending on the server’s authentication scheme.

type

string

Job Hash
description

UUID associated with the data that should be deleted.

type

string

regex match

^[0-9a-f]{32}$

4.1.2. Response#

Reason Status Code Response Format
Job does not exist 404
{
  "message": "String",
  "success": "Boolean"
}
Job was deleted 200
{
  "message": "String",
  "success": "Boolean"
}

4.2. cancel_job#

4.2.1. Request#

Schema describing parameters for canceling an ongoing job run.

Username
description

User account ID. Required for authentication if the data was originally imported by a valid user.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Base64-encoded decryption key for the user account’s public key. Required if ‘username’ is provided.

type

string

Job Hash
description

UUID associated with the data that should be cancelled.

type

string

regex match

^[0-9a-f]{32}$

4.2.2. Response#

Reason Status Code Response Format
Job does not exist 404
{
  "message": "String",
  "success": "Boolean"
}
Job was canceled 200
{
  "message": "String",
  "success": "Boolean"
}

4.3. check_server#

4.3.1. Request#

Schema describing parameters for checking on server-side software versions, and optionally a given user account’s information.

Username
description

User account identifier.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Key/password for the user’s account.

type

string

4.3.2. Response#

Reason Status Code Response Format
Unauthenticated call 200
{
  "status": "String",
  "terms": "String",
  "versions": {
    "sc": "String",
    "sc_schema": "String",
    "sc_server": " String"
  }
}
Authenticated call 200
{
  "status": "String",
  "terms": "String",
  "versions": {
    "sc": "String",
    "sc_schema": "String",
    "sc_server": " String"
  },
  "user_info": {
    "compute_time": "Integer",
    "bandwidth_kb": "Integer"
  }
}

4.4. get_results/{job_hash}.tar.gz#

4.4.1. Request#

Schema describing parameters for checking the progress of an ongoing job.

Username
description

User account ID. Required for authentication if the job was originally created by a valid user.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Base64-encoded decryption key for the user account’s public key. Required if ‘username’ is provided.

type

string

Flowgraph node
description

Retrieve results only for a specific node in the flowgraph. Used to retrieve logs/etc for in-progress jobs.

type

string

4.4.2. Response#

Reason Status Code Response Format
Job does not exist 404
{
  "message": "String"
}
Result size is over the download limit 503
{
  "message": "String"
}
Results are available 200
[
  "File Response"
]

4.5. remote_run#

4.5.1. Request#

Schema for metadata required to remotely run a siliconcompiler job stage.

Username
description

User account ID. Required if data is encrypted.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Password or Base64-encoded decryption key for the user account, depending on the server’s authentication scheme.

type

string

4.5.2. Response#

Reason Status Code Response Format
Too many nodes in flowgraph 403
{
  "message": "String"
}
User account is out of bandwidth or time 400
{
  "message": "String"
}
Job started successfully 200
{
  "message": "String",
  "interval": "Integer",
  "job_hash": "String"
}

4.6. check_progress#

4.6.1. Request#

Schema describing parameters for checking the progress of an ongoing job.

Username
description

User account ID. Required for authentication if the job was originally created by a valid user.

type

string

regex match

^[^\s;]*$

Authentication Key
description

Base64-encoded decryption key for the user account’s public key. Required if ‘username’ is provided.

type

string

Job Hash
description

UUID associated with the data that the job is operating on.

type

string

regex match

^[0-9a-f]{32}$

Job ID
description

ID associated with the ‘job_hash’ and the individual job that is being checked on.

type

string

4.6.2. Response#

Reason Status Code Response Format
Job is not running 200
{
  "message": "String",
  "status": "String"
}
Job cannot be found 404
{
  "message": "String",
  "status": "String"
}
Job is running 200
{
  "message": "String",
  "status": "String",
  "[nodename]": {
    "status": "String",
    "elapsed_time": "String (Optional)"
  }
}