Environments
Lists all environments
GET /api/v1/environments HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"name": "text",
"display_name": "text",
"lrn": "text",
"id": "text",
"created_at": "2025-07-16T03:57:17.623Z",
"tier": "development",
"status": {
"agent_connected": true,
"agent": {
"updated_at": "2025-07-16T03:57:17.623Z",
"roundtrip_duration": 1,
"agent": {
"hostname": "text",
"version": "text"
},
"metrics": {
"kafka": {
"version": "text",
"num_brokers": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"data": {
"num_topics": 1,
"num_partitions": 1,
"num_schemas": 1,
"num_policies": 1,
"topic_data_total_bytes": 1,
"data_in_bytes_per_sec": 1,
"data_out_bytes_per_sec": 1,
"data_in_messages_per_sec": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"apps": {
"num_consumers": 1,
"num_other_apps": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"connect": {
"num_clusters": 1,
"num_connectors": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"other": {
"num_issues": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
}
}
}
},
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
]
}
Creates a new environment.
Sets the name of the new environment. It must be a valid HQ resource name: it can only contain lowercase alphanumeric characters or hyphens; hyphens cannot appear at the end or start; the length is 63 characters at most.
Sets the display name of the new environment. If not provided, the value of "name" will be used.
Enumerates Tiers.
Is returned on creation, contains the agent key but lacks dynamic fields which are unavailble on creation by definition.
POST /api/v1/environments HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 104
{
"name": "text",
"display_name": "text",
"tier": "development",
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
{
"name": "text",
"display_name": "text",
"lrn": "text",
"id": "text",
"created_at": "2025-07-16T03:57:17.623Z",
"tier": "development",
"status": {
"agent_connected": true,
"agent": {
"updated_at": "2025-07-16T03:57:17.623Z",
"roundtrip_duration": 1,
"agent": {
"hostname": "text",
"version": "text"
},
"metrics": {
"kafka": {
"version": "text",
"num_brokers": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"data": {
"num_topics": 1,
"num_partitions": 1,
"num_schemas": 1,
"num_policies": 1,
"topic_data_total_bytes": 1,
"data_in_bytes_per_sec": 1,
"data_out_bytes_per_sec": 1,
"data_in_messages_per_sec": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"apps": {
"num_consumers": 1,
"num_other_apps": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"connect": {
"num_clusters": 1,
"num_connectors": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"other": {
"num_issues": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
}
}
}
},
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"agent_key": "text"
}
Retrieves a single environment by name.
GET /api/v1/environments/{name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"name": "text",
"display_name": "text",
"lrn": "text",
"id": "text",
"created_at": "2025-07-16T03:57:17.623Z",
"tier": "development",
"status": {
"agent_connected": true,
"agent": {
"updated_at": "2025-07-16T03:57:17.623Z",
"roundtrip_duration": 1,
"agent": {
"hostname": "text",
"version": "text"
},
"metrics": {
"kafka": {
"version": "text",
"num_brokers": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"data": {
"num_topics": 1,
"num_partitions": 1,
"num_schemas": 1,
"num_policies": 1,
"topic_data_total_bytes": 1,
"data_in_bytes_per_sec": 1,
"data_out_bytes_per_sec": 1,
"data_in_messages_per_sec": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"apps": {
"num_consumers": 1,
"num_other_apps": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"connect": {
"num_clusters": 1,
"num_connectors": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"other": {
"num_issues": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
}
}
}
},
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
Updates an environment.
Enumerates Tiers.
Updates the display name of the environment.
PATCH /api/v1/environments/{name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 90
{
"tier": "development",
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
},
"display_name": "text"
}
{
"name": "text",
"display_name": "text",
"lrn": "text",
"id": "text",
"created_at": "2025-07-16T03:57:17.623Z",
"tier": "development",
"status": {
"agent_connected": true,
"agent": {
"updated_at": "2025-07-16T03:57:17.623Z",
"roundtrip_duration": 1,
"agent": {
"hostname": "text",
"version": "text"
},
"metrics": {
"kafka": {
"version": "text",
"num_brokers": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"data": {
"num_topics": 1,
"num_partitions": 1,
"num_schemas": 1,
"num_policies": 1,
"topic_data_total_bytes": 1,
"data_in_bytes_per_sec": 1,
"data_out_bytes_per_sec": 1,
"data_in_messages_per_sec": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"apps": {
"num_consumers": 1,
"num_other_apps": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"connect": {
"num_clusters": 1,
"num_connectors": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
},
"other": {
"num_issues": 1,
"updated_at": "2025-07-16T03:57:17.623Z"
}
}
}
},
"metadata": {
"ANY_ADDITIONAL_PROPERTY": "text"
}
}
Deletes an environment.
DELETE /api/v1/environments/{name} HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Provides Server-Sent Events (SSE) for environment updates. TODO.
GET /api/v1/environments/live/sse HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Error object.
{
"type": "not_found",
"title": "text",
"status": 1,
"invalid_fields": [
{
"name": "text",
"error": "reference_not_found",
"title": "text"
}
],
"sso_url": "text",
"request_id": "text"
}
Proxies HTTP to a Lenses instance. Note: this is not a regular HTTP API endpoint. The path specified here is a prefix. Everything beneath it gets proxied to the corresponding Lenses instance. Any request body and method (the GET here is only a placeholder) are accepted, as long as the Lenses API accepts it. The connection can even be upgraded to a websocket. The status code and response body are controlled by the Lenses API. This concept does not fit into the OpenAPI world at all; this definition is only here for the sake of documentation to avoid having an undocumented dark matter API.
GET /api/v1/environments/{name}/proxy/ HTTP/1.1
Host: api.example.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
Error object.
{
"type": "not_found",
"title": "text",
"status": 1,
"invalid_fields": [
{
"name": "text",
"error": "reference_not_found",
"title": "text"
}
],
"sso_url": "text",
"request_id": "text"
}
Last updated
Was this helpful?