Configuration
Manage versioned Iggy and connector configurations, and run operational tasks via the Supervisor API.
Set variables to auto-fill all examples and run requests in-browser.
Configurations are versioned resources managed by the Supervisor API ({supervisor_url}). Each deployment holds one or more named configs with full version history: create a new version, activate it atomically, and roll back to any prior version at any time. All configuration data is encrypted at rest.
Every saved config records the runtime_version it was validated against. After an upgrade, compare this to the currently installed version to identify configs that may need re-validation.
Required permissions: deployment:config:manage (create, activate, delete) or deployment:config:read (view, schema)
Iggy Configuration
Get Config Schema
GET{supervisor_url}/deployments/{deployment_id}/configs/iggy/schemaRetrieve the JSON Schema for Iggy configuration, organized into sections (segment, stream, topic, tcp, http, quic, etc.).
curl {supervisor_url}/deployments/{deployment_id}/configs/iggy/schema \
-H "ld-api-key: YOUR_API_KEY"{
"segment": {
"name": "Segment",
"description": "Log segment size and rotation settings.",
"schema": [
{
"key": "IGGY_SEGMENT_SIZE",
"name": "Segment Size",
"description": "Maximum size of a single log segment",
"default_value": "1 GB",
"kind": "size",
"editable": true,
"secret": false,
"requirements": [],
"rules": []
}
]
}
}Each schema entry includes key, name, description, default_value, kind (field type), editable, secret, requirements, and rules (min/max validation).
Create a Configuration
POST{supervisor_url}/deployments/{deployment_id}/configs/iggyCreate a new named Iggy configuration. Pass activate: true to immediately promote it as the active config.
curl -X POST {supervisor_url}/deployments/{deployment_id}/configs/iggy \
-H "ld-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "high-throughput",
"values": {
"IGGY_SYSTEM_TOPIC_MAX_SIZE": "2 GB"
},
"activate": false
}'| Field | Required | Description |
|---|---|---|
name | No | Config name. If omitted, defaults to the kind name. |
values | Yes | Key-value pairs validated against the schema |
activate | No | true to immediately promote this version as primary (default false) |
Returns 201 Created with ld-config header containing the new config ID.
Get Active Configuration
GET{supervisor_url}/deployments/{deployment_id}/configs/iggy/primaryRetrieve the currently active (primary) Iggy configuration.
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/iggyList all named Iggy configs for this deployment.
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.
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}/versionsList all versions of a named config.
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.
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.
curl -X PUT {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_name}/activate/{version} \
-H "ld-api-key: YOUR_API_KEY"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.
curl -X DELETE {supervisor_url}/deployments/{deployment_id}/configs/iggy/{config_id} \
-H "ld-api-key: YOUR_API_KEY"Returns 204 No Content.
Connector Configuration
Connector configs follow the same versioning model. The config kind is connector:{type}:{key}, for example connector:sink:postgres or connector:source:random.
Get Connector Config Schema
GET{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/schemaGet 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.
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.
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-to-postgres",
"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",
"table": "order_events"
},
"transforms": {}
},
"activate": true
}'Returns 201 Created with ld-config header. If a config with the same name already exists, a new version is created automatically.
Get Active Connector Config
GET{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/primaryGet the currently active connector configuration. Secret fields (e.g. connection strings) are masked with ***.
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}/versionscurl {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/orders-to-postgres/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.
curl -X PUT {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/orders-to-postgres/activate/2 \
-H "ld-api-key: YOUR_API_KEY"Returns 204 No Content.
Delete a Connector Config
DELETE{supervisor_url}/deployments/{deployment_id}/configs/connector:{type}:{key}/{config_id}curl -X DELETE {supervisor_url}/deployments/{deployment_id}/configs/connector:sink:postgres/{config_id} \
-H "ld-api-key: YOUR_API_KEY"Tasks
After activating a config version, trigger a reconfigure task to apply it to the deployment nodes.
Apply Configuration Changes
POST{supervisor_url}/deployments/{deployment_id}/tasksSubmit a task to the Warden agent queue. Use iggy:reconfigure to apply Iggy config changes, connectors:reconfigure for connector changes.
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"
}'Use "type": "connectors:reconfigure" to apply connector configuration changes.
Required permission: deployment:task:manage
List Tasks
GET{supervisor_url}/deployments/{deployment_id}/tasksList recent tasks and their execution status.
curl {supervisor_url}/deployments/{deployment_id}/tasks \
-H "ld-api-key: YOUR_API_KEY"