---
title: Lenses API Integration on Truto
slug: lenses
category: Analytics
canonical: "https://truto.one/integrations/detail/lenses/"
---

# Lenses API Integration on Truto



**Category:** Analytics  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 258 tools for Lenses that AI agents can call directly.

- **list_all_lenses_environments** — List all Lenses environments. Returns a list of environment objects, each with id and content-type-specific fields.
- **create_a_lenses_environment** — Create a new Lenses environment. Returns the newly created environment with its id and content-type-specific fields. Required: name, tier.
- **get_single_lenses_environment_by_id** — Retrieves a single environment by name. Returns: name, display_name, lrn, id, created_at, tier, status, metadata. Required: id.
- **update_a_lenses_environment_by_id** — Update a Lenses environment by id. Returns the updated environment object with its id and content-type-specific fields. Required: id.
- **delete_a_lenses_environment_by_id** — Delete a Lenses environment by id. Returns an empty 204 response on success. Required: id.
- **list_all_lenses_environment_kafka_connections** — List Kafka connections defined for a Lenses environment. Returns the connections array, each item with name, sourceType, and connectionStatus. Required: env_name.
- **get_single_lenses_environment_kafka_connection_by_id** — Get a Kafka connection by id in Lenses. Returns the connection with name, sourceType, and connectionStatus. Required: id, env_name.
- **update_a_lenses_environment_kafka_connection_by_id** — Upsert a Kafka connection in a Lenses environment. Returns the connection with name, sourceType, and connectionStatus. Required: id, env_name, auth.
- **delete_a_lenses_environment_kafka_connection_by_id** — Delete a Kafka connection for a specific Lenses environment. Returns an empty 204 response on success. Required: id, env_name.
- **create_a_lenses_environment_renew_key** — Renew the agent key for a Lenses environment. Generates a new key and invalidates the old. Returns the environment object with its id and environment-specific attributes. Required: name.
- **list_all_lenses_groups** — List all groups in Lenses. Returns the collection of groups. No required parameters.
- **create_a_lenses_group** — Create a new group in Lenses. Returns the created group with its name. Required: name.
- **get_single_lenses_group_by_id** — Get a single Lenses group by name. Returns the group object. Required: id.
- **update_a_lenses_group_by_id** — Updates a group. Returns: name, display_name, sso_name, lrn, id, created_at, description, roles. Required: id.
- **delete_a_lenses_group_by_id** — Delete a group in Lenses by id. Returns an empty 204 response on success. Required: id.
- **list_all_lenses_users** — List all users in Lenses. Returns each user record including its id and other Lenses user fields.
- **create_a_lenses_user** — Create a new user in Lenses. Returns the created user record including its id and other Lenses user fields. Required: name.
- **get_single_lenses_user_by_id** — Get a single user in Lenses by id. Returns the user record including its id and other Lenses user fields. Required: id.
- **update_a_lenses_user_by_id** — Update a user in Lenses by id. Returns the updated user record including its id and other Lenses user fields. Required: id.
- **delete_a_lenses_user_by_id** — Delete a user in Lenses by id. Returns an empty 204 response on success. Required: id.
- **list_all_lenses_users_me** — Get the currently authenticated Lenses user. Returns the full user or service account object. No parameters required.
- **lenses_user_profiles_bulk_update** — Update a user profile in Lenses. Returns the updated user object with content-type-specific fields. Required: name.
- **lenses_user_groups_bulk_update** — Assign a Lenses user to exactly the provided groups, removing all other memberships. Returns the updated user object including id and attributes. Required: name.
- **list_all_lenses_users_settings** — Get the current user's settings in Lenses. Returns the settings object.
- **lenses_users_settings_bulk_update** — Update the current user's settings in Lenses. Returns the updated settings object.
- **list_all_lenses_oauth_2_authorizations** — List OAuth2 authorizations (grants) for the current user in Lenses. Returns a list of authorization records, each containing id and attributes.
- **delete_a_lenses_oauth_2_authorization_by_id** — Revoke an OAuth2 authorization grant for the current user in Lenses by id. Returns an empty 204 response on success. Required: id.
- **create_a_lenses_oauth_2_authorize** — Create an OAuth2 authorization in Lenses to authorize the client to act on behalf of the requesting principal. Returns the authorization response object. Required: client_id, redirect_uri, response_type, scope, state.
- **create_a_lenses_login** — Start a Lenses session using username and password. Returns an empty 204 response on success. The session id is returned in a set-cookie header. Required: username, password.
- **lenses_users_sessions_bulk_delete** — Delete all sessions associated with the current user in Lenses. Returns an empty 204 response on success.
- **list_all_lenses_service_accounts** — List all service accounts in Lenses. Returns: items.
- **create_a_lenses_service_account** — Create a new service account in Lenses. Returns: name, display_name, id, lrn, created_at, description, groups, token_expires_at, token_expired, last_seen_at, is_admin, metadata, token, secretToken, attributes. Required: name.
- **get_single_lenses_service_account_by_id** — Get a specific service account in Lenses by id. Returns: name, display_name, id, lrn, created_at, description, groups, token_expires_at, token_expired, last_seen_at, is_admin, metadata. Required: id.
- **update_a_lenses_service_account_by_id** — Update a service account in Lenses by id. Returns: name, display_name, id, lrn, created_at, description, groups, token_expires_at, token_expired, last_seen_at, is_admin, metadata, attributes. Required: id.
- **delete_a_lenses_service_account_by_id** — Delete a service account in Lenses by id. Returns an empty 204 response on success. Required: id.
- **create_a_lenses_service_account_renew_token** — Renew a Lenses service account token, invalidating the current token and generating a new one. Returns the service account with the new secret token, including name, token, and metadata. Required: name.
- **lenses_service_account_groups_bulk_update** — Assign a Lenses service account to exactly the provided groups, removing it from all other groups. Returns the updated service account object including its id and upstream-defined attributes. Required: name.
- **list_all_lenses_roles** — List all roles in Lenses. Returns the role list with name and policy for each entry.
- **create_a_lenses_role** — Create a new role in Lenses. Returns the created role including name and policy. Required: name, policy.
- **get_single_lenses_role_by_id** — Get a specific Lenses role by id. Returns the role object including its name and permission policy. Required: id.
- **update_a_lenses_role_by_id** — Update a role in Lenses. Returns the role object including its id and content-type-specific attributes. Required: id.
- **delete_a_lenses_role_by_id** — Delete a role in Lenses by id. Returns an empty 204 response on success. Required: id.
- **create_a_lenses_role_policy** — Add a permission statement to an existing role's policy in Lenses. No deduplication is performed. Returns the updated role object. Required: name, effect, action, resource.
- **list_all_lenses_meta_infos** — Get Lenses backend meta information. Returns: version, build_id, backend_build_id, ui_build_id, goos, goarch, started_at, memstats_alloc, memstats_sys, gc_cpu_fraction, num_goroutine.
- **list_all_lenses_settings** — Get the Lenses backend application settings. Returns the application settings object in the attributes field.
- **list_all_lenses_licences** — Get the Lenses HQ licence. Returns the licence object with id and content-type-specific attributes.
- **list_all_lenses_licence_summaries** — Get HQ's licence summary in Lenses. Returns the licence summary object with upstream-defined fields.
- **list_all_lenses_audit_logs** — List audit log records in Lenses. Returns the matching audit log entries sorted by timestamp (most recent first by default). Optional filters: from, to, principal, operation_id, and sort_order.
- **lenses_audit_logs_bulk_delete** — Delete audit log records in Lenses up to the given timestamp. Returns an empty 204 response on success. Required: before.
- **list_all_lenses_permissions_definitions** — List the static Lenses permission model definitions. Returns the definitions object including id and attributes.
- **list_all_lenses_apps_k_2_ks** — List all K2K apps in Lenses. Returns: items. Optional: expand_metrics_summary.
- **get_single_lenses_apps_k_2_k_by_id** — Retrieves a single K2KApp by name. Returns: apiVersion, kind, metadata, spec, status, metrics. Required: id.
- **create_a_lenses_apps_k_2_k** — Create a new K2K app in Lenses. Returns the created app object including id and attributes. Requires a K2K app definition payload in the request body. Required: apiVersion, kind, metadata, spec.
- **update_a_lenses_apps_k_2_k_by_id** — Create or replace a K2KApp in Lenses. Returns the K2KApp object including its id, name, and app-specific attributes. Required: id, apiVersion, kind, metadata, spec.
- **lenses_apps_k_2_ks_partial_update** — Update an existing K2KApp in Lenses. Returns the updated K2KApp object including its id, name, and app-specific attributes. Required: id, apiVersion, kind, metadata, spec.
- **delete_a_lenses_apps_k_2_k_by_id** — Delete a K2K app in Lenses by id. Returns the deleted K2K app object including its id and content-type-specific attributes. Required: id.
- **list_all_lenses_position_offsets** — List the current committed consumer group offsets for a K2K application in Lenses. Returns the consumer group offsets response with content-type-specific fields (id, attributes). Optional: query to filter topics by name. Required: name.
- **lenses_position_offsets_bulk_update** — Update the committed offsets for multiple topic partitions in a Lenses K2K application. Returns a success confirmation when the offsets are updated. The application must be stopped before calling; the update is atomic. Required: name.
- **lenses_position_timestamps_bulk_update** — Update the committed offsets for a Lenses K2K application by resolving a single timestamp to offsets. Returns: application_name, timestamp, updated_partitions, skipped_partitions. The request body contains a timestamp and a map of topic names to partition numbers; the application must be stopped before calling. Required: name, timestamp, partitions.
- **list_all_lenses_k_2_k_migration_templates** — Render a K2K app migration template in Lenses. Returns the generated K2K app template object with content-type-specific fields. Required: consumer_group_lrn, source_connection_lrn, target_connection_lrn, deployment_namespace_lrn.
- **list_all_lenses_k_2_k_migrations** — List all K2K migrations in Lenses. Returns a list of migration records, each including id and schema-defined attributes.
- **get_single_lenses_k_2_k_migration_by_id** — Get a single Lenses K2K migration by its unique name. Returns the migration object including id and schema-defined attributes. Required: id.
- **create_a_lenses_k_2_k_migration** — Create a new K2K migration in Lenses. Returns the created migration object including id and schema-defined attributes. Required: name, k2k_app, consumer_group_id.
- **update_a_lenses_k_2_k_migration_by_id** — Update a K2K migration in Lenses. Returns the updated migration object including id and schema-defined attributes. Required: id, status.
- **delete_a_lenses_k_2_k_migration_by_id** — Delete a K2K migration in Lenses by id. Returns an empty 204 response on success. Required: id.
- **list_all_lenses_environment_proxies** — Expose the Lenses proxy prefix for an environment. Any sub-path, method, and body are forwarded to the Lenses instance, and the response shape is controlled by the upstream endpoint. Required: environment.
- **create_a_lenses_environment_proxy** — Proxy a request to a Lenses environment via the generic proxy endpoint. Returns the upstream response body with environment-specific fields. Required: environment, sql.
- **list_all_lenses_connection_connection_templates** — List connection templates in Lenses. Returns the template records including id and attributes. Deprecated: use provisioning instead. Required: environment.
- **get_single_lenses_connection_by_id** — Get a Lenses connection by id. Returns the connection object including name, sourceType, connectionStatus, and lrn. Required: id, environment.
- **create_a_lenses_connection** — Create a new Lenses connection. Returns the created connection object including name, sourceType, connectionStatus, and lrn. Required: environment, name, templateName.
- **update_a_lenses_connection_by_id** — Update an existing Lenses connection by id. Returns the updated connection object including name, sourceType, connectionStatus, and lrn. Required: id, environment.
- **delete_a_lenses_connection_by_id** — Delete a Lenses connection by id. Returns an empty 204 response on success. Required: id, environment.
- **create_a_lenses_connections_test** — Validate a connection in Lenses. Returns an empty 204 response on success. A request body is required; its shape is defined upstream by the Lenses connection type. Required: environment, name, templateName.
- **create_a_lenses_connection_template_test** — Test a connection from a Lenses connection template. Required: environment, api_version, template_type.
- **list_all_lenses_kafka_connections** — List Kafka connections available in a Lenses environment. Returns an array of connection summaries with name, sourceType, and connectionStatus. Required: environment, api_version.
- **get_single_lenses_kafka_connection_by_id** — Get a specific Kafka connection by id in Lenses. Returns the connection object with name, sourceType, and connectionStatus. Required: environment, api_version, id.
- **create_a_lenses_kafka_connection** — Create a new Kafka connection in Lenses. Returns the connection creation response with the connection name. Required: environment, api_version, and a request body.
- **update_a_lenses_kafka_connection_by_id** — Update a Kafka connection in Lenses. Returns the connection update response with the connection name. Required: environment, api_version, id, name, and a request body.
- **delete_a_lenses_kafka_connection_by_id** — Delete a Kafka connection in Lenses. Returns an empty 204 response on success. Required: environment, api_version, id, name.
- **list_all_lenses_schema_registry_connections** — List available Schema Registry connections in Lenses. Returns: name, sourceType, connectionStatus. Required: environment, api_version.
- **get_single_lenses_schema_registry_connection_by_id** — Get a Schema Registry connection by id in Lenses. Returns the connection including name, sourceType, and connectionStatus. Required: id, environment, api_version.
- **create_a_lenses_schema_registry_connection** — Create a new Schema Registry connection in Lenses. Returns the created connection including name, sourceType, and connectionStatus. Required: environment, api_version.
- **update_a_lenses_schema_registry_connection_by_id** — Update a Schema Registry connection in Lenses. Returns the updated connection including name, sourceType, and connectionStatus. Required: id, environment, api_version.
- **delete_a_lenses_schema_registry_connection_by_id** — Delete a Schema Registry connection in lenses by id. Returns an empty 204 response on success. Required: id (the connection name) and environment.
- **list_all_lenses_aws_glue_schema_registry_connections** — List available AWS Glue Schema Registry connections in a Lenses environment. Returns an array of connection summaries with name, sourceType, and connectionStatus. Required: environment.
- **get_single_lenses_aws_glue_schema_registry_connection_by_id** — Get an AWS Glue Schema Registry connection by id in a Lenses environment. Returns the connection summary including name, sourceType, and connectionStatus. Required: environment, id.
- **create_a_lenses_aws_glue_schema_registry_connection** — Create a new AWS Glue Schema Registry connection in a Lenses environment. Returns the connection creation response. Required: environment and the connection configuration in the request body.
- **update_a_lenses_aws_glue_schema_registry_connection_by_id** — Update an AWS Glue Schema Registry connection by id and name in a Lenses environment. Returns the updated connection response. Required: environment, id, name, and the connection configuration in the request body.
- **delete_a_lenses_aws_glue_schema_registry_connection_by_id** — Delete an AWS Glue Schema Registry connection by id and name in a Lenses environment. Returns an empty 204 response on success. Required: environment, id, name.
- **list_all_lenses_kafka_connect_connections** — List available Kafka Connect connections in Lenses. Returns connection summaries including name, sourceType, and connectionStatus. Required: environment, api_version.
- **get_single_lenses_kafka_connect_connection_by_id** — Get a specific Kafka Connect connection by id in Lenses. Returns the connection summary including name, sourceType, and connectionStatus. Required: environment, api_version, id.
- **create_a_lenses_kafka_connect_connection** — Add a new Kafka Connect connection in Lenses. Returns the created connection summary including name, sourceType, and connectionStatus. Required: environment and api_version.
- **update_a_lenses_kafka_connect_connection_by_id** — Update a Kafka Connect connection in Lenses by id. Returns the updated connection summary including name, sourceType, and connectionStatus. Required: id, environment, and api_version.
- **delete_a_lenses_kafka_connect_connection_by_id** — Delete a Kafka Connect connection in Lenses. Returns an empty 204 response on success. Required: id, environment, api_version, name.
- **list_all_lenses_zookeeper_connections** — List Zookeeper connections in Lenses. Returns: id. Required: environment, api_version.
- **get_single_lenses_zookeeper_connection_by_id** — Get a Zookeeper connection by id in Lenses. Returns: id, attributes, connections. Required: environment, api_version, id.
- **create_a_lenses_zookeeper_connection** — Create a Zookeeper connection in Lenses. Returns: id. Required: environment, api_version, and a request body.
- **update_a_lenses_zookeeper_connection_by_id** — Update a Zookeeper connection by id in Lenses. Returns: id. Required: environment, api_version, id, and a request body.
- **delete_a_lenses_zookeeper_connection_by_id** — Delete a Zookeeper connection by id in Lenses. Returns an empty 204 response on success. Required: environment, api_version, id.
- **list_all_lenses_alert_events** — List alert events in Lenses. Returns a page of alert events with values, pagesAmount, and totalCount. Required: environment.
- **get_single_lenses_setting_condition_by_id** — Get a single alert condition in Lenses. Returns the condition details including createdAt, createdBy, modifiedAt, modifiedBy, channels, condition, and conditionDsl. Required: id, environment, alert_setting_id.
- **update_a_lenses_setting_condition_by_id** — Update an alert condition in Lenses. Returns an empty 204 response on success. Required: id, environment, alert_setting_id, condition.
- **delete_a_lenses_setting_condition_by_id** — Delete an alert condition in Lenses. Returns an empty 204 response on success. Required: id, environment, alert_setting_id.
- **create_a_lenses_setting_condition** — Create a new alert condition in Lenses. Returns the created condition including createdAt, createdBy, modifiedAt, modifiedBy, channels, condition, and conditionDsl. Required: environment, alert_setting_id, condition.
- **list_all_lenses_alert_settings** — Get Lenses alert settings grouped by category. Returns categories: a map of category names to alert-setting records with id, description, category, enabled, isAvailable, details, and lrn. Required: environment.
- **update_a_lenses_alert_setting_by_id** — Update a fixed alert setting in Lenses by id. Returns the updated alert setting including id, description, category, enabled, isAvailable, details, and lrn. Required: id, environment, enabled.
- **lenses_alert_settings_partial_update** — Partially update a fixed alert setting in Lenses by id. Returns the updated alert setting including id, description, category, enabled, isAvailable, details, and lrn. Required: id, environment.
- **list_all_lenses_alert_channels** — List alert channels in Lenses. Returns a paginated response containing values, pagesAmount, and totalCount. Required: environment.
- **create_a_lenses_alert_channel** — Create a new alert channel in Lenses. Returns the created channel's id. Required: environment, name, templateName, connectionName.
- **get_single_lenses_alert_channel_by_id** — Get alert channel details in Lenses by id. Returns: id, name, templateName, templateVersion, connectionName, properties, createdAt, createdBy, updatedAt, updatedBy, enabled, lrn. Required: id, environment.
- **update_a_lenses_alert_channel_by_id** — Update an alert channel in Lenses by id. Returns an empty 200 response on success. Required: id, environment, name, connectionName.
- **lenses_alert_channels_partial_update** — Patch an alert channel in Lenses by id. Returns an empty 200 response on success. Required: id, environment.
- **delete_a_lenses_alert_channel_by_id** — Delete an alert channel in Lenses by id. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_alert_channel_templates** — List alert channel templates in Lenses. Returns: id, name, templateVersion, version, enabled, builtIn, metadata, configuration, suitableConnections, jsonSchema. Required: environment.
- **list_all_lenses_proxy_audits** — List audit entries in Lenses. Returns a paged list of audit records including id, timestamp, user, action, and resource type. Required: environment.
- **lenses_proxy_audits_bulk_delete** — Delete Lenses audit entries up to a given timestamp. Returns an empty 204 response on success. Required: environment, timestamp.
- **list_all_lenses_audit_values** — Get audit metadata information for a Lenses environment. Returns the metadata object with id and attributes. Required: environment.
- **list_all_lenses_audit_channels** — List audit channels in a Lenses environment. Returns a paginated response with `values`, `pagesAmount`, and `totalCount`. Required: environment.
- **create_a_lenses_audit_channel** — Create an audit channel in a Lenses environment. Returns the new channel's `id`. Provide name, templateName, connectionName, and properties in the body. Required: environment, name, templateName, connectionName.
- **get_single_lenses_audit_channel_by_id** — Get an audit channel in a Lenses environment by id. Returns the channel details including id, name, templateName, connectionName, properties, createdAt, and enabled. Required: id, environment.
- **update_a_lenses_audit_channel_by_id** — Update an audit channel in a Lenses environment by id. Returns an empty 204 response on success. Provide name, connectionName, and properties in the body. Required: id, environment, name, connectionName.
- **lenses_audit_channels_partial_update** — Partially update an audit channel in a Lenses environment by id. Returns an empty 204 response on success. Provide name, connectionName, enabled, and properties in the body. Required: id, environment.
- **delete_a_lenses_audit_channel_by_id** — Delete a Lenses audit channel by id. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_audit_channel_templates** — List audit channel templates in Lenses. Returns: id, templateVersion, version, enabled, builtIn, metadata, configuration, suitableConnections, jsonSchema. Required: environment.
- **list_all_lenses_proxy_quotas** — List Kafka client quotas in Lenses. Returns an array of quota objects, each containing id and attributes. Required: environment.
- **update_a_lenses_quotas_user_by_id** — Create or update a Kafka quota for a specific user in Lenses by sending a hashmap of quota property name/values. Returns an empty response on success. Required: id, environment.
- **delete_a_lenses_quotas_user_by_id** — Delete quota properties for a specific user in Lenses. Provide an optional list of property names in the body to delete specific properties. Returns an empty response on success. Required: id, environment.
- **lenses_quotas_users_bulk_update** — Create or update the default Kafka quota for all users in a Lenses environment by sending a hashmap of quota property name/values. Returns an empty response on success. Required: environment.
- **lenses_quotas_users_bulk_delete** — Delete default Kafka quota properties for all users in a Lenses environment. Provide an optional list of property names in the body to delete specific properties. Returns an empty response on success. Required: environment.
- **update_a_lenses_quotas_client_by_id** — Set or update a Kafka quota for a specific client in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **delete_a_lenses_quotas_client_by_id** — Delete quota properties for a specific client in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **lenses_quotas_clients_bulk_update** — Set or update the default Kafka quota for all clients in Lenses. Returns an empty 204 response on success. Required: environment.
- **lenses_quotas_clients_bulk_delete** — Delete default quota properties for all clients in Lenses. Returns an empty 204 response on success. Required: environment.
- **lenses_user_clients_bulk_update** — Set the default Kafka quota for all clients of a specific user in Lenses. Returns an empty 204 response on success. Required: environment, username.
- **lenses_user_clients_bulk_delete** — Delete default Kafka quota properties for all clients of a specific user in Lenses. Returns an empty 204 response on success. Required: environment, username.
- **update_a_lenses_user_client_by_id** — Create or update a Kafka quota for a specific user and client in Lenses. Returns an empty 204 response on success. Required: id, environment, username.
- **delete_a_lenses_user_client_by_id** — Delete Kafka quota properties for a specific user and client in Lenses. Returns an empty 204 response on success. Required: id, environment, username.
- **list_all_lenses_proxy_acls** — List Kafka Access Control Lists in Lenses. Returns an array of ACL objects; each includes id and content-type-specific attributes. Required: environment.
- **lenses_proxy_acls_bulk_update** — Create or update a Kafka Access Control List in Lenses. Returns an empty 200 response on success. Required: environment, resourceType, resourceName, principal, permissionType, host, operation.
- **lenses_proxy_acls_bulk_delete** — Remove a Kafka Access Control List in Lenses. Returns an empty 200 response on success. Required: environment, resourceType, resourceName, principal, permissionType, host, operation, lrn.
- **list_all_lenses_topic_broker_configs** — List broker configuration settings for a Kafka topic in Lenses. Returns the deprecated broker-config array with configuration-specific fields such as name, value, and default. Required: environment, topic.
- **update_a_lenses_configs_topic_by_id** — Update configuration settings for a Kafka topic in Lenses. Returns a plain string response. Required: id, environment.
- **list_all_lenses_proxy_topics** — List Kafka topics summary. Returns: topicName, lrn, partitions, replication, isControlTopic, isCompacted, keyType, valueType. Required: environment.
- **get_single_lenses_proxy_topic_by_id** — Get a Kafka topic summary in Lenses. Returns the topic summary object. Deprecated. Required: id, environment.
- **create_a_lenses_proxy_topic** — Create a Kafka topic in Lenses. Returns the created topic identifier as a plain string. Required: environment, topicName, configs.
- **delete_a_lenses_proxy_topic_by_id** — Delete a Kafka topic in Lenses. The topic will be marked for deletion. Returns a plain string response from the upstream API. Required: id, environment.
- **delete_a_lenses_topic_message_by_id** — Delete records from a Kafka topic partition in Lenses up to a specific offset. Returns a plain string response on success. Required: id, environment, topic_name, partition.
- **list_all_lenses_topic_partitions** — List the partitions of a Kafka topic in Lenses. Returns a list of partition objects, each containing id and attributes. Required: environment, api_version, and topic.
- **lenses_topic_partitions_bulk_update** — Increase the number of partitions for a Kafka topic in Lenses. Returns the partition increase details including partitions. Required: id, environment, partitions.
- **update_a_lenses_consumer_partition_offset_by_id** — Update the consumer group offset for a specific topic-partition in Lenses. Returns an empty 200 response on success. Required: id, environment, group_id, topic.
- **list_all_lenses_kafka_topics** — List deprecated Kafka topic details in Lenses. Returns a list of short topic summaries, each containing an id and topic-specific attributes. Required: environment, api_version. Deprecated; use /api/v1/datasets instead.
- **get_single_lenses_kafka_topic_by_id** — Get a single Kafka topic record from Lenses by id. Returns: type, data, rowId, statementIndex. Required: environment, api_version, and id.
- **create_a_lenses_kafka_topic** — Create a Kafka topic in Lenses. Returns an empty 204 response on success. Required: environment, name, configs, format.
- **create_a_lenses_topic_restore** — Restore Kafka topic from S3. Returns: id, connector, cluster. Required: environment, topic_id, cluster, s3, storageFormat.
- **list_all_lenses_schema_keys** — Get the Kafka topic key schema in Lenses. Returns the schema object including its attributes. Required: environment, topic.
- **list_all_lenses_schema_values** — Get the value schema for a Kafka topic in Lenses. Returns the schema object including its id and content-type-specific attributes. Required: environment, topic.
- **create_a_lenses_backup** — Backup Kafka topic to S3. Returns: id, connector, cluster. Required: environment, topic_id, cluster, s3.
- **list_all_lenses_metadata_topics** — List all Kafka topic metadata in Lenses. Returns an array of topic metadata objects, each with id and attributes. Required: environment.
- **get_single_lenses_metadata_topic_by_id** — Get metadata for a specific Kafka topic in Lenses. Returns the topic metadata object including id and attributes. Required: id, environment.
- **create_a_lenses_metadata_topic** — Create or update metadata for a Kafka topic in Lenses. Returns an empty 204 response on success. Required: environment, topicName, keyType, valueType.
- **delete_a_lenses_metadata_topic_by_id** — Delete metadata for a specific Kafka topic in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_topic_policies** — Get the configured Kafka topic policy in Lenses. Returns the policy object with its upstream-defined attributes. A default policy is returned if none exists. Required: environment.
- **lenses_topic_policies_bulk_update** — Set or update the Kafka topic policy in Lenses by submitting a policy payload. Returns an empty 204 response on success. Required: environment, config.
- **list_all_lenses_static_obfuscations** — List available static obfuscation types in Lenses. Returns an array of obfuscation type name strings. Required: environment.
- **list_all_lenses_static_impacts** — List data policy impact level types in Lenses. Returns an array of impact type strings. Required: environment.
- **list_all_lenses_static_categories** — List policy categories in Lenses. Returns an array of category name strings. Required: environment.
- **list_all_lenses_protection_policies** — List data policies in Lenses. Returns a collection of data policy objects, each including its id. Required: environment.
- **create_a_lenses_protection_policy** — Create a new data policy in Lenses. Returns a plain text identifier from the upstream API. Required: environment, name, category, impactType, obfuscation.
- **get_single_lenses_protection_policy_by_id** — Get a single data policy in Lenses by id. Returns the data policy object including its id. Required: id, environment.
- **update_a_lenses_protection_policy_by_id** — Update an existing data policy in Lenses. Returns an empty 204 response on success. Required: id, environment, name, category, impactType, obfuscation.
- **delete_a_lenses_protection_policy_by_id** — Delete a data policy in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **create_a_lenses_protection_policy_default** — Load the default set of Lenses data policies covering common PII fields and obfuscation rules into an environment. Returns an empty 200 response on success. Required: environment.
- **list_all_lenses_proxy_approvals** — List approval requests in a Lenses environment. Returns a paginated collection of request objects; each contains id and content-type-specific attributes. Required: environment.
- **create_a_lenses_proxy_approval** — Create a new approval request in Lenses. Returns the created request id. Required: environment.
- **get_single_lenses_proxy_approval_by_id** — Get a single Lenses approval request by id. Returns the request object with id and content-type-specific attributes. Required: id, environment.
- **create_a_lenses_approval_action** — Perform an action on a Lenses approval request. Returns an empty 204 response on success. Required: environment, approval_id, action.
- **list_all_lenses_proxy_datasets** — List datasets in a Lenses environment. Returns a paginated wrapper with `datasets.values` (each containing name, connectionName, sourceType, records, lrn) and `sourceTypes`. Required: environment.
- **get_single_lenses_proxy_dataset_by_id** — Get a single dataset in Lenses by connection and id. Returns the dataset object including name, connectionName, sourceType, records, partitions, and lrn. Required: id, environment, connection.
- **create_a_lenses_dataset_tag** — Set one or more tags on a dataset in Lenses. Returns an empty 200 response on success. Required: environment, connection, dataset_name.
- **create_a_lenses_description** — Set a dataset description in Lenses. Returns an empty 200 response on success. Blank descriptions are rejected with a 400 error. Required: environment, connection, dataset_name.
- **create_a_lenses_datasets_delete** — Bulk delete multiple datasets in Lenses. Returns a result list with id, success, and optional message for each deletion. Required: environment.
- **list_all_lenses_datasets_tags** — List dataset tags in Lenses, sorted by dataset count. Returns the tags array, each item with name and count. Required: environment.
- **list_all_lenses_datasets_connections** — List available dataset connections in Lenses. Returns a `connections` array where each entry contains name, sourceType, and connectionStatus. Required: environment.
- **list_all_lenses_kafka_topic_names** — List Kafka topic names in Lenses. Returns an array of Kafka topic names the authenticated user is authorized to see. Required: environment.
- **list_all_lenses_schema_registry_subject_names** — List Schema Registry subject names in Lenses. Returns an array of subject name strings. Required: environment.
- **list_all_lenses_sr_configs** — Get the default Schema Registry configuration for a Lenses environment. Returns the default Schema Registry configuration object. Required: environment.
- **lenses_sr_configs_bulk_update** — Set the default Schema Registry compatibility mode in Lenses. Returns an empty 204 response on success. Required: environment, compatibility.
- **list_all_lenses_sr_formats** — Get the set of schema formats used by Schema Registry subjects in a Lenses environment. Returns: formats, data. Required: environment.
- **create_a_lenses_config** — Set the Schema Registry compatibility mode for a specific subject in Lenses. Returns an empty 204 response on success. Required: environment, subject_name, compatibility.
- **create_a_lenses_current_version** — Register a new Schema Registry schema version for a subject in Lenses, creating the subject if it does not exist. Returns the registered schema object. Required: environment, subject_name, schema.
- **delete_a_lenses_version_by_id** — Delete a Schema Registry subject version in Lenses. Returns an empty 204 response on success. Required: id, environment, subject_name.
- **delete_a_lenses_sr_subject_by_id** — Delete a Schema Registry subject in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_messages_metrics** — List ranged message metrics for a Kafka dataset in Lenses. Returns an array of daily message metric objects with content-specific attributes. Required: environment, entity_name.
- **list_all_lenses_proxy_consumers** — List Kafka consumer groups in Lenses. Returns an array of consumer group summaries with basic group info. Deprecated. Required: environment.
- **lenses_proxy_consumers_bulk_delete** — Delete a consumer group in Lenses. Returns an empty response on success. Required: environment, consumer_group_name.
- **lenses_consumer_offsets_bulk_update** — Update consumer group offsets. Required: environment, group_id.
- **lenses_partition_offsets_bulk_delete** — Delete consumer offsets for a specific topic partition in Lenses. Returns an empty 204 response on success. Required: environment, group_id, topic, partition.
- **create_a_lenses_consumer_offset_delete** — Delete multiple consumer group offsets in Lenses. Returns an empty 200 response on success. Required: environment, consumer_id, topics.
- **list_all_lenses_schema_infers** — Get the current status of a JSON to Avro schema inference job for a Kafka topic in Lenses. Returns the schema inference job state including its id and upstream-defined attributes. Required: environment, topic_name.
- **create_a_lenses_schema_infer** — Start an on-demand JSON to Avro schema inference job for a Kafka topic in Lenses. Returns the schema inference job state including its id and upstream-defined attributes. Required: environment, topic_name, fromTimestamp.
- **lenses_schema_infers_bulk_delete** — Cancel an active JSON to Avro schema inference job for a Kafka topic in Lenses. Returns an empty 200 response on success. Required: environment, topic_name.
- **list_all_lenses_infer_limits** — Get the server-configured hard limits for Kafka schema inference jobs in Lenses. Returns an attributes object containing the configured limits, including max records and max bytes. Required: environment.
- **create_a_lenses_proxy_file** — Upload a file to a Lenses environment. Returns the uploaded file metadata including id, filename, uploadedBy, uploadedAt, size, and contentType. Required: environment.
- **create_a_lenses_apps_external** — Register or update an external app in Lenses. The request body matches the upstream ExternalApplicationRequest schema. Returns an empty 200 response on success. Required: environment, name, metadata.
- **delete_a_lenses_apps_external_by_id** — Delete an external app in Lenses. This action removes the external app and all its instances. Required: id, environment.
- **lenses_runners_bulk_delete** — Bulk delete runners in a Lenses environment and app. Returns an empty 204 response on success. Required: environment, app_name, runners.
- **list_all_lenses_proxy_streams** — List SQL processors in Lenses. Returns processor records including their ids and content-type-specific attributes. Required: environment, api_version.
- **create_a_lenses_proxy_stream** — Create a SQL processor in Lenses by submitting a processor registration payload. Returns the new processor id. Required: environment, api_version.
- **get_single_lenses_proxy_stream_by_id** — Get a SQL processor in Lenses by id (legacy endpoint). Returns the processor record including its id and content-type-specific attributes. Required: environment, api_version, id.
- **delete_a_lenses_proxy_stream_by_id** — Delete a SQL processor in Lenses by id. Returns the deleted processor id. Required: environment, api_version, id. Use force=true to bypass state checks.
- **create_a_lenses_stream_action** — Execute a stream action on a Lenses stream by environment, stream id, and action name. Returns the action-specific response object. Required: environment, stream_id, action.
- **list_all_lenses_stream_graphs** — Get the DAG graph for a Lenses SQL processor. Returns the graph object including id and upstream-defined attributes. Required: environment, stream_id.
- **create_a_lenses_stream_scale** — Scale a Lenses SQL processor stream in the target environment. Returns a plain string response. Only available for Kubernetes deployments; scale must be a positive integer. Required: environment, stream_id, scale.
- **create_a_lenses_stream_image** — Change SQL Processor Docker Image. Returns: id. Required: environment, stream_id, image.
- **create_a_lenses_app_description** — Set the description for a Lenses application. Returns an empty 204 response on success. Required: environment, app_id.
- **create_a_lenses_app_tag** — Set the tags on a Lenses application. Annotates the app with a non-empty list of tags, each tag must be non-blank and no longer than 255 characters. Returns an empty 204 response on success. Required: environment, app_id.
- **list_all_lenses_apps_tags** — List application tags in Lenses. Returns a single object containing the tags array. Required: environment.
- **list_all_lenses_downloads** — Download the logs of a running Kubernetes pod in Lenses. Returns the raw pod logs as a plain-text string. Required: environment, cluster, namespace, pod.
- **list_all_lenses_deployment_targets** — List deployment targets for a Lenses environment. Returns cluster and deployment info including id, lrn, and environment-specific attributes. Required: environment.
- **list_all_lenses_sql_queries** — List all currently active SQL snapshot queries in a Lenses environment. Returns each execution's id and an attributes object containing the upstream agent_ExecutionView fields (query ID, SQL statement, start time, and progress). Required: environment.
- **delete_a_lenses_sql_execution_by_id** — Cancel an in-progress SQL snapshot query execution in Lenses. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_sql_pagings** — List partition-level offset (paging) details for a Kafka table in Lenses. Returns an array of paging records; each record includes an id and upstream-defined partition offset attributes. Required: environment, table.
- **create_a_lenses_sql_presentation** — Get snapshot SQL Intellisense from Lenses. Returns code-completion, syntax-validation, and schema-suggestion fields specific to the upstream presentation schema. Required: environment, sql.
- **create_a_lenses_streams_kafka** — Get legacy Streaming SQL Intellisense for Kafka topics in Lenses. Returns: completions, errors, and metadata. Required: environment, api_version. Legacy endpoint; use V2 for enhanced topic metadata.
- **list_all_lenses_admin_loggers** — List all registered loggers in a Lenses environment. Returns the loggers collection and the current logging mode (file or runtime). Required: environment.
- **lenses_admin_loggers_bulk_update** — Set the log level for a specific logger in a Lenses environment, entering runtime mode. Returns the updated logger details including name, explicit level, effective level, and current mode. Required: environment, loggerName, level.
- **get_single_lenses_admin_logger_by_id** — Get a specific logger in Lenses by name. Returns: name, level, effectiveLevel, effective_level. Required: id, environment.
- **list_all_lenses_loggers_presets** — List available log presets in Lenses. Returns a list of log preset objects, each containing id and attributes. Required: environment.
- **update_a_lenses_loggers_preset_by_id** — Apply a log preset in Lenses, reloading the corresponding XML config and re-enabling auto-reload. Returns the applied preset object with id and attributes.g. default, debug, debug-kafka). Required: id, environment.
- **list_all_lenses_loggers_status** — Get logging status in Lenses. Returns: mode. Required: environment.
- **list_all_lenses_proxy_metadata** — Get the metadata object for a Lenses environment. Returns the metadata record including id and attributes. Required: environment.
- **get_single_lenses_s_3_backup_by_id** — Get a Lenses S3 backup/restore item by id. Returns the item including id and upstream-defined attributes. Required: id, environment.
- **delete_a_lenses_s_3_backup_by_id** — Delete a Lenses S3 backup/restore item by id. Returns an empty 204 response on success. Required: id, environment.
- **list_all_lenses_s_3_backups** — List all Lenses S3 backup/restore items. Returns an array of items, each including id and upstream-defined attributes. Required: environment.
- **list_all_lenses_proxy_states** — Get the Lenses provisioning state information. Deprecated in favor of GET /api/v1/state/connections. Required: environment.
- **list_all_lenses_state_connections** — Get the raw provisioning.yaml file contents for a Lenses environment. Returns the raw provisioning YAML content as a string. Required: environment.
- **create_a_lenses_connections_upload** — Upload a complete connection provisioning manifest in Lenses. Sends the YAML manifest plus referenced files to the scanner folder, replacing the entire connection state. Returns the provisioning validation response including id and content-type-specific attributes. Required: environment.
- **create_a_lenses_validate_upload** — Validate a provisioning manifest with uploaded files in Lenses without applying changes. Returns the provisioning validation response with upstream-defined fields. Required: environment.
- **get_single_lenses_connector_by_id** — Get the current target definition for a Kafka Connect connector in Lenses. Returns the connector definition document including id and connector-specific attributes. Required: id, environment, connect_cluster_name.
- **list_all_lenses_connector_clas_schemas** — Get the JSON schema for a connector resource in Lenses. Returns the connector resource JSON schema in the attributes object. Required: environment, connect_cluster_name, connector_clas_id.
- **lenses_proxy_resources_bulk_update** — Apply a YAML resource spec to a Lenses environment. Returns an empty 201 response on success. Required: environment.
- **create_a_lenses_resource_resource_file_upload** — Apply a resource spec from a binary file in Lenses. Returns an empty 201 response on success. Required: environment.
- **create_a_lenses_resource_validate** — Validate a connector resource spec in Lenses without creating or updating it. Returns the validation result object; its `attributes` hold the upstream schema-defined fields. Required: environment.
- **list_all_lenses_kafka_connect_connectors** — List all Kafka Connect connectors in Lenses, optionally filtered by cluster and connector class name. Returns the list of connector items, each with id and attributes. Required: environment.
- **create_a_lenses_kafka_connect_connector** — Create a new Kafka Connect connector in Lenses with the specified configuration. Returns the created connector object including its id and attributes. Required: environment, name, cluster, configuration.
- **get_single_lenses_cluster_connector_by_id** — Get a Kafka Connect connector by id in Lenses. Returns the connector details including name, lrn, cluster, state, config, and tasks. Required: id, environment, cluster.
- **delete_a_lenses_cluster_connector_by_id** — Delete a Kafka Connect connector in Lenses and stop all of its tasks. Returns the deletion result including id and attributes. Required: id, environment, cluster.
- **create_a_lenses_cluster_connector** — Perform a connector action on a Kafka Connect connector in Lenses. Returns the action response object including openapi, info, tags, security, components, and paths. Required: environment, cluster, connector, action.
- **create_a_lenses_task_restart** — Restart a specific connector task in Lenses. Returns an empty 204 response on success. Required: environment, cluster, connector, task_id.
- **list_all_lenses_kafka_connect_plugins** — List connector plugins installed across Kafka Connect clusters in Lenses. Returns the response data from the upstream plugins endpoint. Required: environment.
- **list_all_lenses_connector_topics** — List the topic names a connector has used in Lenses since its creation or last active-topic reset. Returns an array of topic names. Required: environment, cluster, connector.
- **list_all_lenses_cluster_info** — Get information about a Lenses Kafka Connect cluster. Returns the Connect cluster info including name. Required: environment, cluster.
- **list_all_lenses_connector_offsets** — Get connector offsets in Lenses. Returns source partitions and offsets for source connectors, or Kafka topic/partition offset information for sink connectors. Required: environment, cluster, connector.
- **lenses_connector_offsets_bulk_update** — Alter the offsets for a Kafka Connect connector in Lenses. Returns the alteration result. The connector must be in the STOPPED state. Required: environment, cluster, connector.
- **lenses_connector_offsets_bulk_delete** — Reset a connector's offsets in a Lenses Kafka Connect cluster. This permanently removes the connector's offset data; the connector must be in the STOPPED state. Returns an empty response envelope. Required: environment, cluster, connector.
- **list_all_lenses_live_sses** — Stream Lenses environment updates over Server-Sent Events. Returns an SSE event stream with event-type-specific payloads. Required: api_version.
- **list_all_lenses_k_2_k_live_sses** — Subscribe to a live Server-Sent Events (SSE) stream for K2K application updates in Lenses. Returns an event stream of K2KApp change events.
- **create_a_lenses_topic_resend** — Resend a Kafka message in Lenses by environment, topic, partition, and offset. Returns the resend result including partition and offset. Required: environment, topic, partition, topic_id.

## How it works

1. **Link your customer's Lenses account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Lenses.** The Proxy API is a 1-to-1 mapping of the Lenses API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed Kafka self-service in developer portals** — Internal developer platforms can offer topic provisioning, ACL management, and connector deployment to their end users without exposing raw Kafka tooling. Truto handles the Lenses auth and API layer so you focus on the developer experience.
- **Sync streaming datasets into data catalogs** — Data catalog and lineage products can ingest Kafka topics, schemas, and dataset tags from customer Lenses environments to treat streams as first-class documented assets alongside warehouses and lakes.
- **Automate data protection policies across streams** — Data privacy and governance SaaS can push PII masking and obfuscation policies directly into customer Lenses environments whenever a new sensitive field is detected, extending compliance from data-at-rest to data-in-motion.
- **Monitor Kafka health and cost in observability tools** — AIOps, observability, and FinOps platforms can pull message metrics, consumer state, and connector status from Lenses to surface consumer lag, zombie topics, and over-provisioned infrastructure to their customers.
- **Orchestrate approval-driven Kafka provisioning** — Workflow and ITSM platforms can route Kafka topic and ACL requests through approval flows, then call Lenses to execute the provisioning once approved — turning streaming infra into a governed self-service resource.

## What you can build

- **Topic and ACL provisioning workflows** — Create Kafka topics, update ACLs in bulk, and apply user or client quotas programmatically from your product UI.
- **Kafka Connect connector lifecycle management** — List, deploy, restart tasks, and delete Kafka Connect connectors so your users can manage integration pipelines without leaving your app.
- **Streaming data catalog sync** — Pull datasets, schema keys and values, tags, and descriptions from Lenses to build a live inventory of a customer's streaming data contracts.
- **PII protection policy automation** — Create and manage protection policies with obfuscation rules to apply masking on sensitive fields flowing through Kafka topics.
- **Approval-based topic and resource requests** — Trigger proxy approvals and execute approval actions to gate new topic creation or connector changes behind reviewer sign-off.
- **Streaming metrics and consumer health dashboards** — Surface message metrics, consumer group state, partition offsets, and audit logs to build monitoring or FinOps views over customer Kafka clusters.

## FAQs

### How does authentication to a customer's Lenses environment work?

Lenses uses a login flow to issue a session token, and also supports service accounts with renewable tokens for machine-to-machine access. Truto manages token acquisition, storage, and renewal so your product only deals with a stable connected account.

### Can we manage Kafka Connect connectors through the integration?

Yes. You can list connectors and plugins, create new connectors, fetch a single connector, restart tasks, manage connector offsets, and delete connectors — covering the full connector lifecycle.

### What governance and security operations are supported?

You can create and manage protection policies for data obfuscation, manage roles and role policies, bulk update ACLs, manage user and client quotas, and read audit logs for compliance reporting.

### Can we read schemas and dataset metadata for a data catalog use case?

Yes. Lenses exposes proxy datasets, dataset tags, descriptions, Kafka topic names, schema registry subjects, schema keys and values, and schema inference — enough to build a full streaming catalog view.

### Does the integration support real-time or streaming events?

Lenses exposes live SSE endpoints for both general events and K2K migrations. For most CRUD-style resources, Truto returns data on request; you can poll on your preferred cadence to keep your product in sync.

### Are approval workflows for topic creation supported?

Yes. You can list and create proxy approvals, fetch a single approval, and execute approval actions — allowing your product to model request-and-approve flows before executing operations like topic creation or ACL changes.

## Related reading

- [Connect Lenses to ChatGPT: Manage Kafka clusters and data pipelines](https://truto.one/blog/connect-lenses-to-chatgpt-manage-kafka-clusters-and-data-pipelines/) — Learn how to connect Lenses to chatgpt using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
- [Connect Lenses to Claude: Audit logs, ACLs, and schema governance](https://truto.one/blog/connect-lenses-to-claude-audit-logs-acls-and-schema-governance/) — A complete engineering guide to connecting Lenses to Claude via a managed MCP server. Automate Kafka ACLs, schema governance, and audit logs using Truto.
- [Connect Lenses to AI Agents: Automate Kafka Connect & SQL Streams](https://truto.one/blog/connect-lenses-to-ai-agents-automate-kafka-connect-and-sql-streams/) — Learn how to connect Lenses to AI agents using Truto's /tools endpoint. Automate Kafka Connect restarts, SQL stream deployments, and DataOps tasks.
