LaserData Cloud
API Reference

Configuration

Save configuration versions, select active values, and apply them through tasks

API Variables
ld-api-key
{tenant_id}

Set variables to auto-fill all examples and run requests in-browser.

The Supervisor API, {supervisor_url}, manages versioned configuration. Iggy, Warden, plane, and shared connector-runtime names follow their kind. Connector instances use their activated instance key. Each configuration keeps its own history, and all values are encrypted at rest.

runtime_version records the release used to validate a saved configuration. After an upgrade, compare it with the installed release before reusing old values.

Creation, activation, and deletion require deployment:config:manage. Reading values or schemas requires deployment:config:read.

Configuration Scope

Topic retention, segment size, and durability belong to topic configuration. They are not arbitrary server overrides. See Server & Durability. Use the deployed runtime's schema before changing values. Warden, plane, and shared connector-runtime changes require administrative access.

Iggy Configuration

Get Config Schema

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy/schema

Retrieve the JSON Schema for Iggy configuration, organized into sections (tcp, http, quic, websocket, partition, sharding, metadata, etc.).

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/schema \
-H "ld-api-key: YOUR_API_KEY"

The TCP section includes entries such as this:

{
  "tcp": {
    "name": "TCP",
    "description": "TCP listener configuration.",
    "schema": [
      {
        "key": "IGGY_TCP_ENABLED",
        "name": "TCP server enabled",
        "description": "Determines if the TCP server is active.",
        "default_value": true,
        "kind": "bool",
        "editable": true,
        "secret": false,
        "requirements": [],
        "rules": []
      }
    ]
  }
}

Each entry contains key, name, description, default_value, kind, editable, secret, requirements, and rules. kind identifies the type, and rules defines constraints such as minimums and maximums.

Create a Configuration

POST
{supervisor_url}/deployments/{deployment_id}/configs/iggy

Create a new version of the Iggy configuration. Pass activate: true to immediately promote it as the active config.

bash
curl -X POST {supervisor_url}/deployments/{deployment_id}/configs/iggy \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "name": "iggy",
  "values": {
    "IGGY_DATA_MAINTENANCE_MESSAGES_INTERVAL": "1m"
  },
  "activate": false
}'
FieldRequiredDescription
nameNoOmit or use iggy for Iggy. Connector updates must use the activated instance key
valuesYesKey-value pairs validated against the schema
activateNotrue to immediately promote this version as primary (default false)

A successful request returns 201 Created with the new configuration ID in ld-config.

Get Active Configuration

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy/primary

Retrieve the currently active (primary) Iggy configuration.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/primary \
-H "ld-api-key: YOUR_API_KEY"

List All Configurations

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy

List all named Iggy configs for this deployment.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy \
-H "ld-api-key: YOUR_API_KEY"

Get a Specific Configuration

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id}

Retrieve a config by its numeric ID.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id} \
-H "ld-api-key: YOUR_API_KEY"

List Version History

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions

List all versions of a named config.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions \
-H "ld-api-key: YOUR_API_KEY"

Get a Specific Version

GET
{supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions/{version}

Retrieve a specific version of a named config.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/versions/{version} \
-H "ld-api-key: YOUR_API_KEY"

Activate a Config Version

PUT
{supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/activate/{version}

Promote a config version to active (primary). Does not automatically apply it. Trigger a reconfigure task separately unless you passed activate: true on creation.

bash
curl -X PUT {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/activate/{version} \
-H "ld-api-key: YOUR_API_KEY"

A successful request returns 204 No Content.

Delete a Configuration

DELETE
{supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id}

Delete a config. The active (primary) config cannot be deleted.

bash
curl -X DELETE {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id} \
-H "ld-api-key: YOUR_API_KEY"

A successful request returns 204 No Content.


Connector Configuration

Connector configuration uses the same versioning model. Kinds follow connector:{type}:{key}, such as connector:sink:postgres or connector:source:random.

Get Connector Config Schema

GET
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/schema

Get the JSON Schema for a connector. Sections include sink/source (base fields) and plugin_config (connector-specific fields). Secret fields are masked with * in responses.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/schema \
-H "ld-api-key: YOUR_API_KEY"

Create a Connector Config

POST
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}

Create a connector config. Pass activate: true to immediately make it active.

bash
curl -X POST {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "name": "orders-pg-sink",
  "values": {
    "enabled": true,
    "streams": [
      {
        "stream": "orders",
        "topics": ["completed", "refunded"],
        "schema": "json",
        "batch_length": 100,
        "poll_interval": "1s",
        "consumer_group": "pg-sink-orders"
      }
    ],
    "plugin_config": {
      "connection_string": "postgres://user:pass@host:5432/orders",
      "target_table": "order_events"
    },
    "transforms": {}
  },
  "activate": true
}'

A successful request returns 201 Created with ld-config. Saving an existing name creates another version.

Get Active Connector Config

GET
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/primary

Get the currently active connector configuration. Secret fields (e.g. connection strings) are masked with *.

bash
curl {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/primary \
-H "ld-api-key: YOUR_API_KEY"

List Connector Config Versions

GET
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/{config_name}/versions
bash
curl {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/orders-pg-sink/versions \
-H "ld-api-key: YOUR_API_KEY"

Activate a Connector Config Version

PUT
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/{config_name}/activate/{version}

Promote a connector config version to active. Triggers reconfiguration on all nodes automatically.

bash
curl -X PUT {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/orders-pg-sink/activate/2 \
-H "ld-api-key: YOUR_API_KEY"

A successful request returns 204 No Content.

Delete a Connector Config

DELETE
{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/{config_id}
bash
curl -X DELETE {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/{config_id} \
-H "ld-api-key: YOUR_API_KEY"

Tasks

After activation, create a reconfigure task to apply the version on deployment nodes.

Apply Configuration Changes

POST
{supervisor_url}/deployments/{deployment_id}/tasks

Submit a task to the Warden agent queue. Use iggy:reconfigure to apply Iggy config changes, connectors:reconfigure for connector changes.

bash
curl -X POST {supervisor_url}/deployments/{deployment_id}/tasks \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
  "type": "iggy:reconfigure"
}'

For connectors, use "type": "connectors:reconfigure".

This task requires deployment:task:manage.

List Tasks

GET
{supervisor_url}/deployments/{deployment_id}/tasks

List recent tasks and their execution status.

bash
curl {supervisor_url}/deployments/{deployment_id}/tasks \
-H "ld-api-key: YOUR_API_KEY"

On this page