Skip to main content
Workload configuration management

Endpoints


List configurations

GET /api/v1/configurations

Parameters

Responses

200 - List of configurations

Create configuration

POST /api/v1/configurations

Request Body

Responses

201 - Configuration created

Get configuration

GET /api/v1/configurations/{config_id}

Parameters

Responses

200 - Configuration details

Update configuration

PATCH /api/v1/configurations/{config_id}

Parameters

Request Body

Responses

200 - Configuration updated
412 - Precondition failed (ETag mismatch)

Delete configuration

DELETE /api/v1/configurations/{config_id}

Parameters

Responses

204 - Configuration deleted

List configuration applications

GET /api/v1/configurations/{config_id}/applications Returns all applications in the configuration’s topology

Parameters

Responses

200 - List of applications
404 - Configuration not found

Add application to configuration

POST /api/v1/configurations/{config_id}/applications Adds an application to the configuration’s topology by looking up the model from the database. Server resolves traffic type, version, and default parameters from the model.

Parameters

Responses

201 - Application added
400 - Invalid request (distribution sum exceeds 1.0) 404 - Configuration not found

Remove application from configuration

DELETE /api/v1/configurations/{config_id}/applications/{app_name} Removes an application from the configuration’s topology. Remaining applications are auto-scaled to maintain distribution sum of 1.0.

Parameters

Responses

200 - Application removed successfully
404 - Configuration or application not found

Update application parameters

PATCH /api/v1/configurations/{config_id}/applications/{app_name}/parameters Performs a validated merge of the provided TypedParameters patch into the named application’s typed_parameters. Only existing parameter keys can be updated, and types must match.

Parameters

Request Body

Responses

200 - Parameters updated successfully. Returns the full updated TypedParameters for the application. 400 - Invalid request (empty patch, unknown parameter key, type mismatch, structural mismatch) 404 - Configuration or application not found 409 - Conflict (serialization failure from concurrent modification) 412 - Precondition failed (ETag mismatch) 409 - Traceset rank count not yet resolved — metadata extraction is still in progress. Retry after extraction completes. 422 - Traceset rank count is present but invalid (zero or negative). The traceset data is malformed and cannot be used for a Chakra simulation.

List configuration components

GET /api/v1/configurations/{config_id}/components Returns all components from the configuration’s components array with optional type filtering

Parameters

Responses

200 - List of components
404 - Configuration not found

Add component to configuration

POST /api/v1/configurations/{config_id}/components Adds a component, container, or layer to the configuration by looking up the model from the database. For switch/nic/server: adds to components array. For rack/pod: adds to containers array. For layer: adds to links array.

Parameters

Responses

201 - Component added
400 - Invalid request (model not found, invalid parameters) 404 - Configuration not found

Remove component from configuration

DELETE /api/v1/configurations/{config_id}/components/{component_name} Removes a component from the configuration’s components array. Cascades removal to all container references, topology references, and child references in other components.

Parameters

Responses

204 - Component removed from configuration 404 - Configuration or component not found 412 - Precondition failed (ETag mismatch)

Update component parameters

PATCH /api/v1/configurations/{config_id}/components/{component_name}/parameters Performs a validated merge of the provided TypedParameters patch into the named component’s typed_parameters. Only existing parameter keys can be updated, and types must match.

Parameters

Request Body

Responses

200 - Parameters updated successfully. Returns the full updated TypedParameters for the component. 400 - Invalid request (empty patch, unknown parameter key, type mismatch, structural mismatch) 404 - Configuration or component not found 409 - Conflict (serialization failure from concurrent modification) 412 - Precondition failed (ETag mismatch)

Add child to component

PATCH /api/v1/configurations/{config_id}/configurations/{component_name} Adds a child component (NIC, GPU, or application) to the specified host (server) component. Validates that the child type is in the host’s allowedComponents list.

Parameters

Request Body

Responses

200 - Child component added to host
400 - Invalid request (child type not allowed, already attached) 404 - Configuration or component not found

Update child in component

PATCH /api/v1/configurations/{config_id}/configurations/{component_name}/components/{child_name} Updates count and/or group on an existing child component reference within the specified host (server) component. At least one of count or group must be provided.

Parameters

Request Body

Responses

200 - Child component updated
400 - Invalid request (empty patch, count < 1) 404 - Configuration, component, or child not found 412 - Precondition failed (ETag mismatch)

Remove child from component

DELETE /api/v1/configurations/{config_id}/configurations/{component_name}/components/{child_name} Removes a child component (NIC, GPU, or application) from the specified host (server) component.

Parameters

Responses

204 - Child component removed from host 404 - Configuration, component, or child not found 412 - Precondition failed (ETag mismatch)

List configuration containers

GET /api/v1/configurations/{config_id}/containers Returns all containers from the configuration with optional type filtering

Parameters

Responses

200 - List of containers
404 - Configuration not found

Add component to container

PATCH /api/v1/configurations/{config_id}/containers/{container_name} Adds a component reference to the specified container. Validates that the component type is in the container’s allowed list.

Parameters

Request Body

Responses

200 - Component added to container
400 - Component type not allowed in container 404 - Configuration or container not found

Get allowed component types for container

GET /api/v1/configurations/{config_id}/containers/{container_name}/allowed Returns the list of component types allowed in this container based on its type

Parameters

Responses

200 - Allowed component types
404 - Configuration or container not found

Update component in container

PATCH /api/v1/configurations/{config_id}/containers/{container_name}/components/{component_name} Updates count and/or group on an existing component reference in the specified container. At least one of count or group must be provided.

Parameters

Request Body

Responses

200 - Component updated in container
400 - Invalid request (empty patch, count < 1) 404 - Configuration, container, or component not found 412 - Precondition failed (ETag mismatch)

Remove component from container

DELETE /api/v1/configurations/{config_id}/containers/{container_name}/components/{component_name} Removes a component reference from the specified container

Parameters

Responses

204 - Component removed from container 404 - Configuration, container, or component not found

Update distribution entry value

PATCH /api/v1/configurations/{config_id}/distribution Updates the value field of a specific entry in topology.appDistribution.randomApplicationDistribution[]. The entry is identified by parentApplication + distributionId.

Parameters

Request Body

Responses

200 - Distribution value updated
400 - Invalid request (value out of range, empty fields, no app_distribution) 404 - Configuration or distribution entry not found 409 - Concurrent modification conflict, please retry 412 - Precondition failed (ETag mismatch)
GET /api/v1/configurations/{config_id}/links Returns all links (layer components) from the configuration

Parameters

Responses

200 - List of links
404 - Configuration not found
PATCH /api/v1/configurations/{config_id}/links/{link_name}/parameters Performs a validated merge of the provided TypedParameters patch into the named link’s typed_parameters. Only existing parameter keys can be updated, and types must match.

Parameters

Request Body

Responses

200 - Parameters updated successfully. Returns the full updated TypedParameters for the link. 400 - Invalid request (empty patch, unknown parameter key, type mismatch, structural mismatch) 404 - Configuration or link not found 409 - Conflict (serialization failure from concurrent modification) 412 - Precondition failed (ETag mismatch)

Update global parameters

PATCH /api/v1/configurations/{config_id}/parameters Performs a validated merge of the provided TypedParameters patch into the configuration’s global_parameters. Backend-managed sections (ComputeConfiguration, ParallelizationParameters, etc.), readonly sections (SoftwareVersion), and hidden parameters are rejected with 400.

Parameters

Request Body

Responses

200 - Parameters updated successfully. Returns the full updated global TypedParameters (with backend params stripped). 400 - Invalid request (empty patch, unknown parameter key, type mismatch, structural mismatch, attempt to modify backend-managed/readonly/hidden params) 404 - Configuration not found 409 - Conflict (serialization failure from concurrent modification) 412 - Precondition failed (ETag mismatch)

Get software version

GET /api/v1/configurations/{config_id}/software-version Returns the simulator software version from the SoftwareVersion section of globalParameters.

Parameters

Responses

200 - Software version retrieved successfully
404 - Configuration not found

Add component to topology

PATCH /api/v1/configurations/{config_id}/topology Adds a component reference to the configuration’s topology.components array. Validates the named entity exists in the correct collection by type (switch→components, layer→links, pod→containers).

Parameters

Request Body

Responses

200 - Component added to topology
400 - Invalid request (type not allowed, duplicate, invalid type) 404 - Configuration or referenced entity not found

Update topology component

PATCH /api/v1/configurations/{config_id}/topology/{component_name} Updates the count on an existing component reference in the topology.

Parameters

Request Body

Responses

200 - Topology component updated
400 - Invalid request (count < 1) 404 - Configuration or component not found in topology 412 - Precondition failed (ETag mismatch)

Remove component from topology

DELETE /api/v1/configurations/{config_id}/topology/{component_name} Removes a component reference from the configuration’s topology.

Parameters

Responses

204 - Component removed from topology 404 - Configuration or component not found in topology 412 - Precondition failed (ETag mismatch)

List available tracesets for configuration

GET /api/v1/configurations/{config_id}/traceset Returns tracesets that can be attached to configuration applications. Use scope=global to list all tracesets across all workspaces, or scope=workspace to filter by the configuration’s workspace only.

Parameters

Responses

200 - List of available tracesets
404 - Configuration not found

Attach traceset to configuration

PATCH /api/v1/configurations/{config_id}/traceset Sets the activeTraceset field on the configuration to reference the specified traceset. Requires at least one application with trafficType ‘chakra’ to exist in the configuration. Workspace-agnostic: any traceset can be attached regardless of workspace.

Parameters

Request Body

Responses

200 - Traceset attached successfully
400 - Invalid request (traceset not found, no Chakra application in configuration) 404 - Configuration not found 409 - Traceset rank count not yet resolved — metadata extraction is still in progress. Retry after extraction completes. 412 - Precondition failed (ETag mismatch) 422 - Traceset rank count is present but invalid (zero or negative). The traceset data is malformed and cannot be used for a Chakra simulation.

Validate configuration

POST /api/v1/configurations/{config_id}/validate

Parameters

Responses

200 - Validation result

List configuration versions

GET /api/v1/configurations/{config_id}/versions

Parameters

Responses

200 - List of version summaries

Get specific configuration version

GET /api/v1/configurations/{config_id}/versions/{version}

Parameters

Responses

200 - Configuration version details
404 - Version not found