Atinary™ SDLabs API (1.25.0)

Download OpenAPI specification:

API to use the Atinary™ SDLabs platform - requires a valid API key linked to an active SDLabs account

Admin

Healthcheck

The HealthCheck endpoint provides detailed information about the health of the service.

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "generated_at": "2022-07-09T17:03:06.014410Z"
}

Providing when a new set of parameters can be retrieved. A delay is applied for Scientia users.

After a total number of iterations for a given Scientia user, a delay is applied.

Authorizations:
api_keytokens

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Search bar API call

Look for an object based on what is present in its id, name, description. Return the first 10 objects found.

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

Request Body schema: application/json
text_pattern
required
string (text_pattern) <= 50 characters ^[ -~]+$

Pattern to search in object name, id or description.

Responses

Request samples

Content type
application/json
{
  • "text_pattern": "description"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Campaign

Campaign entry-point.
A campaign is a project or an application which runs as an iterative loop with the goal of optimizing one or more objectives.
It consists of an optimizer, workstation(s), parameter(s) and objective(s).

Delete a Campaign and the associated Result

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Retrieve a Campaign

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Relaunch a campaign currently in error

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Run inference on this campaign's latest model

Sends an inference request to this campaign's latest model and returns the response - just like using /Models/{model_id}/Infer.

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Request Body schema: application/json
required
id
string (id)

Unique identifier for the inference request.

required
Array of objects (inputs)

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ],
  • "id": "id"
}

Response samples

Content type
application/json
{
  • "outputs": [
    ],
  • "model_version": "model_version",
  • "model_id": "model_id",
  • "id": "id"
}

Check if this campaign's latest model is ready

Returns the status of the latest model of this campaign, indicating whether it is ready for inference.

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Responses

Response samples

Content type
application/json
{
  • "ready": true,
  • "model_id": "a8098c1af86e11dabd1a00112444be1e",
  • "message": "message"
}

Get campaign observations

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

query Parameters
include_preloaded_data
boolean or null (preload_data)
Example: include_preloaded_data=true

Include preloaded data

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Apply an operation to a specific Campaign

Authorizations:
api_keytokens
path Parameters
campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$
Example: cpg_00000000000000000000000000000000

Campaign identifier

Request Body schema: application/json
operation
required
string (operation)
Enum: "pause" "resume" "stop"

Operation to execute on the Template. Possible Values:
- pause Stop sending new requests to workstations. This does not stop optimizations in progress on the workstation side.
- resume Resume campaign from where it was.
- stop Stop campaign. All processes on optimization and workstation sides are dropped. Impossible to resume from this state.

Responses

Request samples

Content type
application/json
{
  • "operation": "stop"
}

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get Campaigns

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

List all campaigns available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

names
Array of strings (Name) [ 1 .. 99 ] items [ items <= 128 characters ^[ -~]+$ ]
Example: names=My Template 1&names=My Campaign 2&names=My Workstation 3

List of Object names to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Get Campaign Results

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

include_preloaded_data
boolean or null (preload_data)
Example: include_preloaded_data=true

Include preloaded data

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Get Campaign States

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Constraint

Constraint configuration entry-point.
A constraint represents an exclusion or a dependency between parameters. For instance, if Parameter A is lower than 1, then Parameter B must be higher than 0.1; or the sum of parameters X, Y, Z must add up to exactly 10.
Constraints may apply either on the Workstation (e.g. robot's physical constraints) or on the template (e.g. an experimental constraint).

Delete a constraint

Authorizations:
api_keytokens
path Parameters
constraint_id
required
string or null (ConstraintId) = 36 characters ^cst_[0-9a-f]{32}$
Example: cst_00000000000000000000000000000000

Constraint identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Retrieve a Constraint

Authorizations:
api_keytokens
path Parameters
constraint_id
required
string or null (ConstraintId) = 36 characters ^cst_[0-9a-f]{32}$
Example: cst_00000000000000000000000000000000

Constraint identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update a Constraint

Authorizations:
api_keytokens
path Parameters
constraint_id
required
string or null (ConstraintId) = 36 characters ^cst_[0-9a-f]{32}$
Example: cst_00000000000000000000000000000000

Constraint identifier

Request Body schema: application/json
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

required
Array of objects (definitions) [ 1 .. 99 ] items
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

targets
Array of numbers or null <float> (targets) <= 99 items [ items <float > [ -1000000 .. 1000000 ] ]
type
required
string (ConstraintType)
Enum: "exclusion" "conditional_exclusion" "linear_eq" "linear_lte" "linear_gte" "linear_between" "choose_from_eq" "choose_from_lte" "choose_from_gte" "choose_from_between"

Constraint type. Accepted Values:
- exclusion
- conditional_exclusion
- linear_eq
- linear_lte
- linear_gte
- linear_between
- choose_from_eq
- choose_from_lte
- choose_from_gte
- choose_from_between

Responses

Request samples

Content type
application/json
{
  • "name": "Cat One Constraint",
  • "type": "conditional_exclusion",
  • "definitions": [
    ],
  • "description": "Only use categorical One if param 1 is between 0.001 and 1.23 or above 3.21",
  • "group_id": "My_private_group_20"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a new constraint based on an existing one

Use new_parameter_ids_map to match parameters from original constraint with parameters from the copy

Authorizations:
api_keytokens
path Parameters
constraint_id
required
string or null (ConstraintId) = 36 characters ^cst_[0-9a-f]{32}$
Example: cst_00000000000000000000000000000000

Constraint identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Array of objects or null (new_parameter_ids_map) <= 99 items

Maps old parameter IDs to new parameter IDs.

Responses

Request samples

Content type
application/json
{
  • "name": "New constraint name"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create many constraints

Authorizations:
api_keytokens
Request Body schema: application/json
Array ([ 1 .. 99 ] items)
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

required
Array of objects (definitions) [ 1 .. 99 ] items
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

targets
Array of numbers or null <float> (targets) <= 99 items [ items <float > [ -1000000 .. 1000000 ] ]
type
required
string (ConstraintType)
Enum: "exclusion" "conditional_exclusion" "linear_eq" "linear_lte" "linear_gte" "linear_between" "choose_from_eq" "choose_from_lte" "choose_from_gte" "choose_from_between"

Constraint type. Accepted Values:
- exclusion
- conditional_exclusion
- linear_eq
- linear_lte
- linear_gte
- linear_between
- choose_from_eq
- choose_from_lte
- choose_from_gte
- choose_from_between

Responses

Request samples

Content type
application/json
[
  • {
    },
  • {
    }
]

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Get constraints configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

constraint_ids
Array of strings or null (ConstraintId) [ 1 .. 99 ] items [ items = 36 characters ^cst_[0-9a-f]{32}$ ]
Example: constraint_ids=cst_00000000000000000000000000000000&constraint_ids=cst_00000000000000000000000000000001&constraint_ids=cst_00000000000000000000000000000002

List of constraint identifiers to query

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Multi-Objective function

Multi-Objective configuration entry-point.
Each Multi-Objective function object can only be associated with one single template.
A multi-objective function must be provided to a template as soon as there are more than one objective.

Create a Multi-Objective function for a specific template

Authorizations:
api_keytokens
Request Body schema: application/json
required
Array of objects (MofObjConfig) <= 99 items
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

function
required
string <= 128 characters ^[ -~]+$
Default: "chimera"

Multi-Objective function name to use. Accepted Values:
- chimera
- weighted_sum

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ],
  • "description": "chimera function description.",
  • "name": "chimera_exp_1",
  • "function": "chimera"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete a Multi-Objective function

Authorizations:
api_keytokens
path Parameters
mof_id
required
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$
Example: mof_00000000000000000000000000000000

Multi-Objective function identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get an Multi-Objective function configuration

Authorizations:
api_keytokens
path Parameters
mof_id
required
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$
Example: mof_00000000000000000000000000000000

Multi-Objective function identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update a Multi-Objective function configuration

Authorizations:
api_keytokens
path Parameters
mof_id
required
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$
Example: mof_00000000000000000000000000000000

Multi-Objective function identifier

Request Body schema: application/json
required
Array of objects (MofObjConfig) <= 99 items
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

function
required
string <= 128 characters ^[ -~]+$
Default: "chimera"

Multi-Objective function name to use. Accepted Values:
- chimera
- weighted_sum

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ],
  • "description": "chimera function description.",
  • "name": "chimera_exp_1",
  • "function": "chimera"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a new Multi-Objective function based on an existing one

Authorizations:
api_keytokens
path Parameters
mof_id
required
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$
Example: mof_00000000000000000000000000000000

Multi-Objective function identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "My Multi-Objective copy",
  • "group_id": "my_group_id"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get Multi-Objective function Configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

mof_ids
Array of strings (MofId) [ 1 .. 99 ] items [ items = 36 characters ^mof_[0-9a-f]{32}$ ]
Example: mof_ids=mof_11111111111111111111111111111111

List of Multi-Objective function identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Multi-Objective function configuration specifications

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

List all multi-objective functions available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

mof_ids
Array of strings (MofId) [ 1 .. 99 ] items [ items = 36 characters ^mof_[0-9a-f]{32}$ ]
Example: mof_ids=mof_11111111111111111111111111111111

List of Multi-Objective function identifiers to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Objective

Objective configuration entry-point.
Each objective object can only be associated with one single template.

Create an objective for a specific template

Authorizations:
api_keytokens
Request Body schema: application/json
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

goal
required
string (Goal)
Enum: "max" "min" "target"

Goal of this Objective. Accepted Values:
- max
- min
- target

target
number <double> [ -500000 .. 500000 ]

(Target attribute) Accepted value for this Objective.

Responses

Request samples

Content type
application/json
{
  • "name": "my objective",
  • "description": "this is a description.",
  • "goal": "target",
  • "target": 10
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete an objective

Authorizations:
api_keytokens
path Parameters
objective_id
required
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$
Example: obj_00000000000000000000000000000000

Objective identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get an objective configuration

Authorizations:
api_keytokens
path Parameters
objective_id
required
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$
Example: obj_00000000000000000000000000000000

Objective identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update an objective configuration

Authorizations:
api_keytokens
path Parameters
objective_id
required
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$
Example: obj_00000000000000000000000000000000

Objective identifier

Request Body schema: application/json
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

goal
required
string (Goal)
Enum: "max" "min" "target"

Goal of this Objective. Accepted Values:
- max
- min
- target

target
number <double> [ -500000 .. 500000 ]

(Target attribute) Accepted value for this Objective.

Responses

Request samples

Content type
application/json
{
  • "name": "my objective",
  • "description": "this is a description.",
  • "goal": "target",
  • "target": 10
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a new objective based on an existing one

Authorizations:
api_keytokens
path Parameters
objective_id
required
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$
Example: obj_00000000000000000000000000000000

Objective identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "Cost copy",
  • "group_id": "My_private_group_21"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get Objective Configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

objective_ids
Array of strings (ObjectiveId) [ 1 .. 99 ] items [ items = 36 characters ^obj_[0-9a-f]{32}$ ]
Example: objective_ids=obj_01000000000000000000000000000010&objective_ids=obj_02000000000000000000000000000020

List of Objective identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

List all objectives available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

objective_ids
Array of strings (ObjectiveId) [ 1 .. 99 ] items [ items = 36 characters ^obj_[0-9a-f]{32}$ ]
Example: objective_ids=obj_01000000000000000000000000000010&objective_ids=obj_02000000000000000000000000000020

List of Objective identifiers to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Observation

Observation entry-point to handle external and internal data.
- External data: They must be associated to a template_id.
To be used, they must be present before launching a campaign run. After that, they may not longer be modified for the currently running campaign.
- Internal data: They must be associated with a campaign_id.

Create a single observation

Add a single data point (i.e. not a batch thereof) within a given campaign, at the given iteration and batch number.

Authorizations:
api_keytokens
Request Body schema: application/json
required
Array of objects (ObservationParameterValueObj) <= 100 items

Set of parameters proposed for this observation unit.

required
Array of objects (ObservationValueObj) <= 100 items

Set of objectives measures for this observation unit.

notes
string or null (Notes) <= 2048 characters ^[ -~\s]*$

User note associated to an experiment.

status
string (ObservationStatus)
Default: "ok"
Enum: "ok" "error"

Observation status values. Available Values:
- error for invalid
- ok for valid

campaign_id
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$

Campaign identifier

iteration
integer <int32> (Iteration) [ 0 .. 5000 ]

An iteration is a single loop of a campaign that consists of one or more observations.

batch_number
integer <int32> (BatchNumber) [ 0 .. 1000 ]

Batch is the number of experiments that are conducted in parallel at a workstation in a single iteration, with the maximum batch size being limited by the workstation bandwidth.

Responses

Request samples

Content type
application/json
{
  • "parameters": [
    ],
  • "measurements": [
    ],
  • "notes": "Workstation cleaned before launching this experiment",
  • "status": "ok"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

update Observation

Authorizations:
api_keytokens
path Parameters
observation_id
required
string (ObservationId) = 36 characters ^obs_[0-9a-f]{32}$
Example: obs_00000000000000000000000000000000

Observation identifier

Request Body schema: application/json
required
Array of objects (ObservationParameterValueObj) <= 100 items

Set of parameters proposed for this observation unit.

required
Array of objects (ObservationValueObj) <= 100 items

Set of objectives measures for this observation unit.

notes
string or null (Notes) <= 2048 characters ^[ -~\s]*$

User note associated to an experiment.

status
string (ObservationStatus)
Default: "ok"
Enum: "ok" "error"

Observation status values. Available Values:
- error for invalid
- ok for valid

campaign_id
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$

Campaign identifier

iteration
integer <int32> (Iteration) [ 0 .. 5000 ]

An iteration is a single loop of a campaign that consists of one or more observations.

batch_number
integer <int32> (BatchNumber) [ 0 .. 1000 ]

Batch is the number of experiments that are conducted in parallel at a workstation in a single iteration, with the maximum batch size being limited by the workstation bandwidth.

Responses

Request samples

Content type
application/json
{
  • "parameters": [
    ],
  • "measurements": [
    ],
  • "notes": "Workstation cleaned before launching this experiment",
  • "status": "ok"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

find observations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

observation_ids
Array of strings (ObservationId) [ 1 .. 99 ] items [ items = 36 characters ^obs_[0-9a-f]{32}$ ]
Example: observation_ids=obs_01111111111111111111111111111111&observation_ids=obs_01222222222222222222222222222222

List of Observation identifiers to query

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

create Observations

Create one or more observations, within a same template.

Authorizations:
api_keytokens
query Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: template_id=tpl_00000000000000000000000000000000

Template identifiers

Request Body schema: application/json
campaign_name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

required
Array of objects (observations) [ 1 .. 1000 ] items

Responses

Request samples

Content type
application/json
{
  • "campaign_name": "My_first_run",
  • "observations": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Optimizer

Optimizer entry-point.
An optimizer is an algorithm that dictates the path towards the objective by suggesting experiments for the workstation to perform.
It can be a machine-learning-based, gradient-based or a grid-based method.
The machine-learning-based algorithms learn from previous experiments to reach the final goal faster.

Create an optimizer

Create and configure an optimizer

Authorizations:
api_keytokens
Request Body schema: application/json
required
Array of objects (configuration) <= 99 items
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

function
required
string (OptFunction) <= 128 characters ^[ -~]+$

Available optimizer types. Available:
- falcongpbo
- grid
- randomsearch

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ],
  • "group_id": "atinary_group",
  • "function": "randomsearch",
  • "name": "my object",
  • "description": "My description that may span over several lines and contain up to 1024 characters."
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete an Optimizer

Authorizations:
api_keytokens
path Parameters
optimizer_id
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$
Example: opt_00000000000000000000000000000000

Optimizer identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get an Optimizer configuration

Authorizations:
api_keytokens
path Parameters
optimizer_id
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$
Example: opt_00000000000000000000000000000000

Optimizer identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update an Optimizer configuration

Authorizations:
api_keytokens
path Parameters
optimizer_id
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$
Example: opt_00000000000000000000000000000000

Optimizer identifier

Request Body schema: application/json
required
Array of objects (configuration) <= 99 items
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

function
required
string (OptFunction) <= 128 characters ^[ -~]+$

Available optimizer types. Available:
- falcongpbo
- grid
- randomsearch

Responses

Request samples

Content type
application/json
{
  • "configuration": [
    ],
  • "group_id": "atinary_group",
  • "function": "randomsearch",
  • "name": "my object",
  • "description": "My description that may span over several lines and contain up to 1024 characters."
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Copy an Optimizer

Authorizations:
api_keytokens
path Parameters
optimizer_id
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$
Example: opt_00000000000000000000000000000000

Optimizer identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "Private_Optimizer-Copy",
  • "group_id": "API_Technologies_ltd"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get optimizers configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

optimizer_ids
Array of strings (OptimizerId) [ 1 .. 99 ] items [ items = 36 characters ^opt_[0-9a-f]{32}$ ]
Example: optimizer_ids=opt_01000000000000000000000000000000

List of Optimizer identifiers to query

is_public
boolean (IsPublic)
Example: is_public=false

Optimizers and Workstations provided by Atinary Technologies Inc. & Atinary Technologies Sarl.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Get optimizers specifications

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

List all optimizers available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

optimizer_ids
Array of strings (OptimizerId) [ 1 .. 99 ] items [ items = 36 characters ^opt_[0-9a-f]{32}$ ]
Example: optimizer_ids=opt_01000000000000000000000000000000

List of Optimizer identifiers to query

is_public
boolean (IsPublic)
Example: is_public=false

Optimizers and Workstations provided by Atinary Technologies Inc. & Atinary Technologies Sarl.

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Parameter

Parameter configuration entry-point.
Each parameter object can only be associated with one single template.

Create a parameter for a specific template

Authorizations:
api_keytokens
Request Body schema: application/json
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

Array of objects or null (DescriptorMap) <= 800 items

(Categorical attribute) Descriptor for categorical parameter.

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

high_value
number <double> [ -100000 .. 100000 ]

(Continuous/Discrete attribute) Upper bound value of this parameter.

low_value
number <double> [ -100000 .. 100000 ]

(Continuous/Discrete attribute) Lower bound value of this parameter.

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

num_decimals_ui
integer or null <int32> [ 1 .. 15 ]

Number of decimals to display on SDLabs's User Interface.

stride
number <double> [ 0.0001 .. 100000 ]

(Discrete attribute) Step value between two values.

type
required
string (ParameterType)
Enum: "categorical" "continuous" "discrete"

Parameter type. Accepted Values:
- categorical
- continuous
- discrete

Responses

Request samples

Content type
application/json
{
  • "name": "x1",
  • "description": "Temperature",
  • "type": "continuous",
  • "low_value": 0,
  • "high_value": 90
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete a parameter

Authorizations:
api_keytokens
path Parameters
parameter_id
required
string or null (ParameterId) = 36 characters ^prm_[0-9a-f]{32}$
Example: prm_00000000000000000000000000000000

Parameter identifier

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get a Parameter configuration

Authorizations:
api_keytokens
path Parameters
parameter_id
required
string or null (ParameterId) = 36 characters ^prm_[0-9a-f]{32}$
Example: prm_00000000000000000000000000000000

Parameter identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update a parameter configuration

Authorizations:
api_keytokens
path Parameters
parameter_id
required
string or null (ParameterId) = 36 characters ^prm_[0-9a-f]{32}$
Example: prm_00000000000000000000000000000000

Parameter identifier

Request Body schema: application/json
description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

Array of objects or null (DescriptorMap) <= 800 items

(Categorical attribute) Descriptor for categorical parameter.

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

high_value
number <double> [ -100000 .. 100000 ]

(Continuous/Discrete attribute) Upper bound value of this parameter.

low_value
number <double> [ -100000 .. 100000 ]

(Continuous/Discrete attribute) Lower bound value of this parameter.

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

num_decimals_ui
integer or null <int32> [ 1 .. 15 ]

Number of decimals to display on SDLabs's User Interface.

stride
number <double> [ 0.0001 .. 100000 ]

(Discrete attribute) Step value between two values.

type
required
string (ParameterType)
Enum: "categorical" "continuous" "discrete"

Parameter type. Accepted Values:
- categorical
- continuous
- discrete

Responses

Request samples

Content type
application/json
{
  • "name": "x1",
  • "description": "Temperature",
  • "type": "continuous",
  • "low_value": 0,
  • "high_value": 90
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a new Parameter based on an existing one

Authorizations:
api_keytokens
path Parameters
parameter_id
required
string or null (ParameterId) = 36 characters ^prm_[0-9a-f]{32}$
Example: prm_00000000000000000000000000000000

Parameter identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "Pressure copy",
  • "group_id": "My_private_group_20"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get Parameter Configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

parameter_ids
Array of strings or null (ParameterId) [ 1 .. 99 ] items [ items = 36 characters ^prm_[0-9a-f]{32}$ ]
Example: parameter_ids=prm_01010101010101010101010101010101

List of Parameter identifiers to query.

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

List all parameters available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

parameter_ids
Array of strings or null (ParameterId) [ 1 .. 99 ] items [ items = 36 characters ^prm_[0-9a-f]{32}$ ]
Example: parameter_ids=prm_01010101010101010101010101010101

List of Parameter identifiers to query.

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Template

Template entry-point.
A template is a campaign setup which runs as an iterative loop with the goal of optimizing one or more objectives.
It consists of an optimizer, one or several workstation(s), parameter(s) and objective(s).

Create a Template

Authorizations:
api_keytokens
Request Body schema: application/json
budget
required
integer <int32> (Budget) [ 1 .. 1000 ]
Default: 1

The budget is the number of iterations that will be carried out in a campaign.

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

optimizer
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$

Optimizer identifier

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Array of objects (initial_points) <= 99 items

Array that specifies initial points for the optimizer (future feature)

multi_objective_function
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$

Multi-Objective function identifier

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

objective
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$

Objective identifier

required
Array of objects (parameters) [ 1 .. 99 ] items
constraints
Array of strings or null or null (constraints) <= 99 items [ items = 36 characters ^cst_[0-9a-f]{32}$ ]

Responses

Request samples

Content type
application/json
{
  • "budget": 15,
  • "description": "Melting solid tritium",
  • "optimizer": "opt_00000000000000000000000000000001",
  • "group_id": "my_private_group_001",
  • "name": "My_Experiment_09",
  • "objective": "obj_00000000000000000000000000000001",
  • "parameters": [
    ],
  • "constraints": [
    ]
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete a Template

Authorizations:
api_keytokens
path Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: tpl_00000000000000000000000000000000

Template identifiers

query Parameters
recursive
boolean
Deprecated
Default: false

Query attribute to delete all children elements (Multi-Objective Function, Objectives, Parameters) associated to the element being deleted. DEPRECATED: now done automatically from backend.

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Retrieve a Template

Authorizations:
api_keytokens
path Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: tpl_00000000000000000000000000000000

Template identifiers

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update a Template configuration

Template Update object. To update Multi-Objective function, objectives or parameters associated with the template, please update them directly through their own entry-points. For update limitations, please see editable parameter description in TemplateConfigObj.

Authorizations:
api_keytokens
path Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: tpl_00000000000000000000000000000000

Template identifiers

Request Body schema: application/json
budget
required
integer <int32> (Budget) [ 1 .. 1000 ]
Default: 1

The budget is the number of iterations that will be carried out in a campaign.

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

optimizer
required
string (OptimizerId) = 36 characters ^opt_[0-9a-f]{32}$

Optimizer identifier

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Array of objects (initial_points) <= 99 items

Array that specifies initial points for the optimizer (future feature)

multi_objective_function
string (MofId) = 36 characters ^mof_[0-9a-f]{32}$

Multi-Objective function identifier

name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

objective
string (ObjectiveId) = 36 characters ^obj_[0-9a-f]{32}$

Objective identifier

required
Array of objects (parameters) [ 1 .. 99 ] items
constraints
Array of strings or null or null (constraints) <= 99 items [ items = 36 characters ^cst_[0-9a-f]{32}$ ]

Responses

Request samples

Content type
application/json
{
  • "name": "Winter_experiment_01",
  • "budget": 51,
  • "optimizer": "opt_0908070605040302010a0b0c0d0e0f00",
  • "group_id": "sample_group",
  • "parameters": [
    ],
  • "multi_objective_function": "mof_00908070605040302010a0b0c0d0e0f0"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a Template based on an existing one

Authorizations:
api_keytokens
path Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: tpl_00000000000000000000000000000000

Template identifiers

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "Old_Template-Copy",
  • "group_id": "sample_account"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Run a Campaign

Authorizations:
api_keytokens
path Parameters
template_id
required
string (TemplateId) = 36 characters ^tpl_[0-9a-f]{32}$
Example: tpl_00000000000000000000000000000000

Template identifiers

Request Body schema: application/json
preload_campaigns
Array of strings or null (preload_campaigns) <= 99 items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]

Campaigns from which observations should be preloaded (Premium / Gold users only). Defaults to None (no campaign preloaded). Set preload_data parameter to True and preload_campaigns to None or empty array to preload all campaigns from the template.

preload_data
boolean or null (preload_data)

Preload data of previous campaigns from this template (Premium / Gold users only) If the preload_campaigns array is used and contains at least one valid campaign, this preload_data will be ignored and automatically set to False.

items
string (ObservationId) = 36 characters ^obs_[0-9a-f]{32}$

Observation identifier

campaign_name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

Responses

Request samples

Content type
application/json
{
  • "campaign_name": "my object",
  • "preload_data": true,
  • "preload_campaigns": [
    ],
  • "items": "obs_00000000000000000000000000000000"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get templates configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

List all templates available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

names
Array of strings (Name) [ 1 .. 99 ] items [ items <= 128 characters ^[ -~]+$ ]
Example: names=My Template 1&names=My Campaign 2&names=My Workstation 3

List of Object names to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Get Template Results

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Workstation

Workstation configuration entry-point.
A workstation executes the tasks provided by the optimizer and can be a scientist (chemist, material scientist, biologist, technician, etc.),
automated lab equipment and/or analytics (HPLC, NMR, LC-MS, FT-IR, etc.)
or a computer (cloud, high-performance computing center, etc.).

Create a workstation

Authorizations:
api_keytokens
Request Body schema: application/json
bandwidth
integer <int32> [ 1 .. 10000 ]
Default: 255

Number of concurrent experiments the workstation can handle.

delay_proposals
boolean
Default: false

Whether the workstation shall wait for its bandwidth to be reached before processing all the requests at once.

parameters
required
Array of strings or null or null (ParameterId) <= 99 items [ items = 36 characters ^prm_[0-9a-f]{32}$ ]
conn_type
string (ConnectionType)
Default: "api"
Enum: "api" "nexus"

Connection type or protocol. Available Values:
- api - nexus

object (ConnectConfigNexusObj)

Connection properties between Nexus workstations and Atinary™ SDLabs.

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

measurements
required
Array of strings or null <= 99 items [ items <= 128 characters ^[ -~]+$ ]
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

workstation_type
string (WorkstationType)
Default: "not_defined"
Enum: "manual" "automated" "not_defined"

Workstation type (influences how it is displayed and how you may interact with it). Available values:
- manual - automated - not_defined

Responses

Request samples

Content type
application/json
{
  • "bandwidth": 1,
  • "conn_type": "nexus",
  • "connection": {
    },
  • "delay_proposals": false,
  • "description": "This is a test workstation.",
  • "group_id": "my_group_00000000000",
  • "measurements": [
    ],
  • "name": "my workstation",
  • "parameters": [
    ],
  • "workstation_type": "automated"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Delete a workstation

Authorizations:
api_keytokens
path Parameters
workstation_id
required
string (WorkstationId) = 36 characters ^wst_[0-9a-f]{32}$
Example: wst_00000000000000000000000000000000

Workstation identifier

query Parameters
recursive
boolean
Deprecated
Default: false

Query attribute to delete all children elements (Multi-Objective Function, Objectives, Parameters) associated to the element being deleted. DEPRECATED: now done automatically from backend.

Responses

Response samples

Content type
application/json

generic success response

{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}

Get a workstation configuration

Authorizations:
api_keytokens
path Parameters
workstation_id
required
string (WorkstationId) = 36 characters ^wst_[0-9a-f]{32}$
Example: wst_00000000000000000000000000000000

Workstation identifier

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Update a workstation configuration

Authorizations:
api_keytokens
path Parameters
workstation_id
required
string (WorkstationId) = 36 characters ^wst_[0-9a-f]{32}$
Example: wst_00000000000000000000000000000000

Workstation identifier

Request Body schema: application/json
bandwidth
integer <int32> [ 1 .. 10000 ]
Default: 255

Number of concurrent experiments the workstation can handle.

delay_proposals
boolean
Default: false

Whether the workstation shall wait for its bandwidth to be reached before processing all the requests at once.

parameters
required
Array of strings or null or null (ParameterId) <= 99 items [ items = 36 characters ^prm_[0-9a-f]{32}$ ]
conn_type
string (ConnectionType)
Default: "api"
Enum: "api" "nexus"

Connection type or protocol. Available Values:
- api - nexus

object (ConnectConfigNexusObj)

Connection properties between Nexus workstations and Atinary™ SDLabs.

description
string (description) <= 1024 characters ^[°\!#-&\(-\[\]-_a-~|\s]*$

Description field

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

measurements
required
Array of strings or null <= 99 items [ items <= 128 characters ^[ -~]+$ ]
name
required
string (Name) <= 128 characters ^[ -~]+$

Name of this object

workstation_type
string (WorkstationType)
Default: "not_defined"
Enum: "manual" "automated" "not_defined"

Workstation type (influences how it is displayed and how you may interact with it). Available values:
- manual - automated - not_defined

Responses

Request samples

Content type
application/json
{
  • "bandwidth": 1,
  • "conn_type": "nexus",
  • "connection": {
    },
  • "delay_proposals": false,
  • "description": "This is a test workstation.",
  • "group_id": "my_group_00000000000",
  • "measurements": [
    ],
  • "name": "my workstation",
  • "parameters": [
    ],
  • "workstation_type": "automated"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Create a workstation based on an existing one

Authorizations:
api_keytokens
path Parameters
workstation_id
required
string (WorkstationId) = 36 characters ^wst_[0-9a-f]{32}$
Example: wst_00000000000000000000000000000000

Workstation identifier

Request Body schema: application/json
name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

Responses

Request samples

Content type
application/json
{
  • "name": "workstation Copy",
  • "group_id": "my_group_id"
}

Response samples

Content type
application/json
{
  • "result": {
    },
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "object": {
    }
}

Get workstation configurations

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

is_public
boolean (IsPublic)
Example: is_public=false

Optimizers and Workstations provided by Atinary Technologies Inc. & Atinary Technologies Sarl.

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Workstations and connections specifications

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-1bda-bd1a-00112244be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Submit new observations

Submit new observations with backend validation and processing (as part of a Campaign in progress)

Authorizations:
api_keytokens
Request Body schema: application/json
Array ([ 1 .. 100 ] items)
batch_number
required
integer <int32> (BatchNumber) [ 0 .. 1000 ]

Batch is the number of experiments that are conducted in parallel at a workstation in a single iteration, with the maximum batch size being limited by the workstation bandwidth.

campaign_id
required
string (CampaignId) = 36 characters ^cpg_[0-9a-f]{32}$

Campaign identifier

campaign_name
string (Text) >= 0 characters ^[ -~]+$

Represents generic response text returned by the server.

group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$

Group identifier (group name in this case)

id
required
string (ObsRequestId) = 36 characters ^rqt_[0-9a-f]{32}$

Observation Request identifier

iteration
required
integer <int32> [ 0 .. 100000 ]

Experiment's iteration number in its campaign.

required
Array of objects (MeasurementValueObj) <= 100 items

Set of expected measurements for this observation unit.

notes
string or null (Notes) <= 2048 characters ^[ -~\s]*$

User note associated to an experiment.

required
Array of objects (ObservationParameterValueObj) <= 100 items

Set of suggested parameters for this observation unit.

Array of objects (Prediction) <= 100 items

Set of computed predictions with the model that generated the recommendations.

workstation_id
required
string (WorkstationId) = 36 characters ^wst_[0-9a-f]{32}$

Workstation identifier

workstation_level
integer <int32> (level) [ 1 .. 99 ]
Default: 1

Step level inside the Template. First workstation level starts at 1.

workstation_name
string (Name) <= 128 characters ^[ -~]+$

Name of this object

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Get the latest parameters suggested for the given Campaign and/or Workstation

If both filters are given, will filter on the Campaign and the Workstation (step). If no filter is given, will return all the available LatestParameters. The objects may then be filled with Measurements and submitted back to SDLabs.

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

List all workstations available to the user

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

is_public
boolean (IsPublic)
Example: is_public=false

Optimizers and Workstations provided by Atinary Technologies Inc. & Atinary Technologies Sarl.

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

names
Array of strings (Name) [ 1 .. 99 ] items [ items <= 128 characters ^[ -~]+$ ]
Example: names=My Template 1&names=My Campaign 2&names=My Workstation 3

List of Object names to query

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    },
  • "objects": [
    ]
}

Get workstation status

Authorizations:
api_keytokens
query Parameters
group_id
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: group_id=atinary_group

Group identifier

template_ids
Array of strings (TemplateId) [ 1 .. 99 ] items [ items = 36 characters ^tpl_[0-9a-f]{32}$ ]
Example: template_ids=tpl_00000000000000000000000000000000&template_ids=tpl_00000000000000000000000000000001&template_ids=tpl_00000000000000000000000000000002

List of Templates identifiers to query

campaign_ids
Array of strings (CampaignId) [ 1 .. 99 ] items [ items = 36 characters ^cpg_[0-9a-f]{32}$ ]
Example: campaign_ids=cpg_01111111111111111111111111111111&campaign_ids=cpg_01222222222222222222222222222222

List of Campaign identifiers to query

is_public
boolean (IsPublic)
Example: is_public=false

Optimizers and Workstations provided by Atinary Technologies Inc. & Atinary Technologies Sarl.

workstation_ids
Array of strings (WorkstationId) [ 1 .. 99 ] items [ items = 36 characters ^wst_[0-9a-f]{32}$ ]
Example: workstation_ids=wst_01111111111111111111111111111111

List of Workstation identifiers to query

Responses

Response samples

Content type
application/json
{
  • "result": {
    },
  • "objects": [
    ],
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e"
}

Model

A model in machine learning is a trained algorithm (optimizer) that makes predictions or decisions based on input data. This API provides access to inference requests on deployed models.

Run inference on a model

Sends an inference request to a specified model and returns the response.

Authorizations:
api_keytokens
path Parameters
model_id
required
string or null (ModelId) <= 36 characters ^[a-fA-F0-9]{32}$
Example: a8098c1af86e11dabd1a00112444be1e

The unique identifier of the model.

Request Body schema: application/json
required
id
string (id)

Unique identifier for the inference request.

required
Array of objects (inputs)

Responses

Request samples

Content type
application/json
{
  • "inputs": [
    ],
  • "id": "id"
}

Response samples

Content type
application/json
{
  • "outputs": [
    ],
  • "model_version": "model_version",
  • "model_id": "model_id",
  • "id": "id"
}

Check whether a model is ready

Returns a simple readiness/health status for the specified model. Useful for warm-up checks before sending inference traffic.

Authorizations:
api_keytokens
path Parameters
model_id
required
string or null (ModelId) <= 36 characters ^[a-fA-F0-9]{32}$
Example: a8098c1af86e11dabd1a00112444be1e

The unique identifier of the model.

Responses

Response samples

Content type
application/json
{
  • "ready": true,
  • "model_id": "a8098c1af86e11dabd1a00112444be1e",
  • "message": "message"
}

Group

Delete all objects in a Group

Authorizations:
api_keytokens
path Parameters
group_id
required
string or null (group_id) [ 1 .. 128 ] characters ^[ -~]+$
Example: atinary_group

Group identifier

Responses

Response samples

Content type
application/json
{
  • "request_id": "a8098c1a-f86e-11da-bd1a-00112444be1e",
  • "result": {
    }
}