Application Development
WarpStream
API integration
Ship Application Development features without building the integration. Full WarpStream API access via Proxy and 50+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Talk to usUse Cases
Why integrate with WarpStream
Common scenarios for SaaS companies building WarpStream integrations for their customers.
Embed streaming infrastructure provisioning for customer environments
DevOps and platform SaaS products can spin up WarpStream virtual clusters, workspaces, and topics on behalf of their customers during onboarding or per-tenant setup. This turns a multi-day Kafka provisioning process into a one-click flow inside your product.
Automate access control and credential rotation for compliance workflows
Security, IAM, and compliance SaaS platforms can programmatically manage WarpStream users, roles, ACLs, and API keys on connected customer accounts. This enables just-in-time credentials, least-privilege enforcement on sensitive topics, and automated rotation for SOC 2 or ISO controls.
Ingest granular chargeback data for FinOps and cost attribution
FinOps platforms can pull WarpStream invoice breakdowns and chargeback data to attribute streaming costs to specific tenants, workspaces, and clusters. Customers get per-team cost visibility without your product needing to build a WarpStream billing parser from scratch.
Monitor consumer group health and pipeline state for observability tools
Data observability and monitoring SaaS products can continuously poll consumer groups, quotas, and pipeline state to detect lag, stalled consumers, or misconfigured pipelines. This surfaces streaming health inside the same dashboards customers already use.
Discover Tableflow-managed tables to auto-generate warehouse pipelines
ETL/ELT and data catalog SaaS platforms can list WarpStream tables synced via Tableflow and read their metadata to auto-generate load paths into Snowflake, BigQuery, or a lakehouse. This eliminates manual consumer scripts for customers who want streams in their warehouse.
What You Can Build
Ship these features with Truto + WarpStream
Concrete product features your team can ship faster by leveraging Truto’s WarpStream integration instead of building from scratch.
One-click virtual cluster provisioning
Let customers create, configure, tier, and tear down WarpStream virtual clusters directly from your UI, with workspace scoping and cluster-level configuration applied automatically.
Automated ACL and credential lifecycle management
Issue scoped cluster credentials, apply ACLs to specific topics, and revoke or rotate API keys programmatically as users are added, removed, or reassigned in your product.
Per-tenant streaming cost dashboards
Pull invoices, invoice breakdowns, past invoices, chargebacks, and quotas to render tenant-, workspace-, and cluster-level cost attribution inside your FinOps or admin dashboard.
Topic and consumer group monitoring
List and inspect topics, consumer groups, and client metrics subscriptions to build lag alerts, retention audits, and topic lifecycle policies (including undelete of accidentally removed topics).
Pipeline orchestration and state control
Create WarpStream pipelines with configurations, list and inspect them, and toggle their state to pause, resume, or decommission streaming workloads from your product.
Kafka-to-WarpStream migration workflows
Launch, monitor, and clean up Orbit auto-migrations so your customers can move existing Kafka topics into WarpStream without leaving your interface.
SuperAI
WarpStream AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_warp_stream_api_key
Create a new WarpStream API key with the specified name and access grants. Returns: id, created_at. API key names may only contain underscores and alphanumeric characters; WarpStream prepends an `akn_` prefix automatically. Required: name, access_grants.
delete_a_warp_stream_api_key_by_id
Delete a WarpStream API key by its api_key_id. Returns an empty response on success. Required: api_key_id.
list_all_warp_stream_api_keys
List all WarpStream API keys belonging to the same workspace as the authenticating key. Returns: id, created_at, virtual_cluster_id.
create_a_warp_stream_virtual_cluster
Create a new WarpStream virtual cluster. A new agent key is automatically provisioned with every cluster. Returns: virtual_cluster_id. Required: virtual_cluster_name, virtual_cluster_type, virtual_cluster_region, virtual_cluster_cloud_provider, virtual_cluster_tier.
delete_a_warp_stream_virtual_cluster_by_id
Permanently delete a WarpStream virtual cluster. Both virtual_cluster_id and virtual_cluster_name are required as confirmation that the correct cluster is being deleted. This operation is irreversible — all topics and data will be lost. Returns an empty 204 response on success. Required: virtual_cluster_id, virtual_cluster_name.
get_single_warp_stream_virtual_cluster_by_id
Describe a WarpStream virtual cluster by its ID. Returns: virtual_cluster, catalog_base_url. Required: virtual_cluster_id.
list_all_warp_stream_virtual_clusters
List all WarpStream virtual clusters. Returns an array of cluster records each containing: id, name, type, region, cloud_provider, bootstrap_url, agent_pool_id, agent_pool_name, created_at, and agent_keys.
update_a_warp_stream_virtual_cluster_by_id
Rename a WarpStream virtual cluster to a new name. Returns an empty 204 response on success. Required: virtual_cluster_id, new_virtual_cluster_name.
get_single_warp_stream_virtual_cluster_configuration_by_id
Get the configuration of a WarpStream virtual cluster. Returns the virtual_cluster_configuration object including are_acls_enabled, default_num_partitions, default_retention_millis, and is_auto_create_topic_enabled. Required: virtual_cluster_id.
update_a_warp_stream_virtual_cluster_configuration_by_id
Update the configuration of a WarpStream virtual cluster by supplying a partial virtual_cluster_configuration object; only the fields provided are modified and all others remain unchanged. Returns an empty response on success. Required: virtual_cluster_id.
update_a_warp_stream_virtual_cluster_tier_by_id
Update the tier of a WarpStream virtual cluster. Returns an empty response object on success. Required: virtual_cluster_id, tier.
create_a_warp_stream_virtual_cluster_credential
Create new credentials for a WarpStream virtual cluster. Returns the created credentials object including id, username, and password. Required: credentials_name, virtual_cluster_id. Optionally supply imported_password to assign a specific password instead of a randomly generated one.
delete_a_warp_stream_virtual_cluster_credential_by_id
Delete existing WarpStream virtual cluster credentials by credential id and virtual cluster. Returns an empty 204 response on success. Required: id, virtual_cluster_id.
list_all_warp_stream_virtual_cluster_credentials
List all credentials for a WarpStream virtual cluster. Returns: id, created_at. Required: virtual_cluster_id.
create_a_warp_stream_acl
Create a single ACL rule on a WarpStream virtual cluster. Deduplicates identical rules automatically — only one copy is stored. Returns: acl. Required: virtual_cluster_id, acl.
list_all_warp_stream_acls
List all ACL rules configured on a WarpStream virtual cluster. Returns: acls. Returns an empty array if no ACLs are configured. Required: virtual_cluster_id.
delete_a_warp_stream_acl_by_id
Delete ACL rules matching the provided filters from a WarpStream virtual cluster. Supports dry_run mode to preview which ACLs would be removed and bulk_deletion mode for broad criteria matching. Returns: acl. Required: virtual_cluster_id, acls.
list_all_warp_stream_consumer_groups
List all WarpStream consumer groups for a given virtual cluster, including member assignments and partition-level consumption lag. Returns the state object containing groups with name, state, members (id, client_id, client_host, assignment), topics (name and per-partition min_offset, max_offset, committed_offset), and protocol. Required: virtual_cluster_id.
get_single_warp_stream_quota_by_id
Get WarpStream account quotas, describing the maximum limit and current usage for each quota type. Returns: quotas.
list_all_warp_stream_pipelines
List WarpStream pipelines in a virtual cluster. Returns: id, virtual_cluster_id. Required: virtual_cluster_id.
create_a_warp_stream_pipeline
Create a new WarpStream pipeline in a virtual cluster. Returns: pipeline_name, pipeline_type, virtual_cluster_id. Required: virtual_cluster_id, pipeline_name. Only one Orbit or Schema Linking pipeline is allowed per cluster at a time.
delete_a_warp_stream_pipeline_by_id
Delete a WarpStream pipeline from a virtual cluster. Returns an empty 204 response on success. Required: virtual_cluster_id, pipeline_id.
get_single_warp_stream_pipeline_by_id
Get details of a WarpStream pipeline including its overview and configurations. Returns: virtual_cluster_id, pipeline_id. Required: virtual_cluster_id, pipeline_id.
create_a_warp_stream_pipeline_configuration
Create a new pipeline configuration in WarpStream by supplying a YAML configuration payload. Returns: configuration_id. Required: virtual_cluster_id, pipeline_id, configuration_yaml.
update_a_warp_stream_pipeline_state_by_id
Change the state of a WarpStream pipeline by setting desired_state to 'running' (start/resume) or 'paused'. Optionally deploy a specific pipeline configuration by providing deployed_configuration_id. Returns an empty response on success. Required: virtual_cluster_id, pipeline_id.
create_a_warp_stream_invitation
Create invitations in WarpStream to invite one or more new users to join your account. Each invited user receives an email with instructions; upon acceptance they are granted the role specified by user_role_id. Returns an empty 204 response on success. Required: invitations (array of objects each containing email and user_role_id).
get_single_warp_stream_invoice_by_id
Get the current pending (in-progress billing period) invoice for a WarpStream account. Returns: date_from, date_to, tenants, account_charges, total.
get_single_warp_stream_past_invoice_by_id
Get a past WarpStream invoice for a specified date range. Returns date_from, date_to, tenants (with per-workspace and per-cluster charge breakdowns including product, unit_price, quantity, and total), account_charges (credits and support fees), and the overall total. Required: date_start.
get_single_warp_stream_invoice_breakdown_by_id
Get detailed invoice breakdowns from WarpStream for a specified date range, returning per-tenant, per-workspace, per-cluster, and per-product usage and cost data. Returns: date_from, date_to, tenants, account_charges. Required: date_start, date_end.
get_single_warp_stream_chargeback_by_id
Get pending chargebacks in WarpStream, organized by tenant, workspace, and cluster. Returns: date_from, date_to, covers_products, tenants, account_charges. All filters are optional.
get_single_warp_stream_past_chargeback_by_id
Get past chargeback data for a WarpStream billing month, broken down by tenant, workspace, cluster, and entity. Returns: date_from, date_to, covers_products, tenants. Required: date_start.
list_all_warp_stream_tables
List all active WarpStream Tableflow tables for a given virtual cluster. Returns each table's table_name, table_uuid, source_stream_name, source_cluster_name, stats_estimated_byte_count, stats_estimated_row_count, and created_at_unix_nanos. Required: virtual_cluster_id.
get_single_warp_stream_table_by_id
Get details for a single WarpStream Tableflow table by UUID or name. Returns a table object including table_name, table_uuid, table_location, source_stream_name, source_cluster_name, stats_estimated_byte_count, stats_estimated_row_count, and created_at_unix_nanos; optionally a status object with health, lag, and partition details when include_status is true. Required: virtual_cluster_id. Exactly…
delete_a_warp_stream_table_by_id
Permanently delete a WarpStream Tableflow table and its control-plane metadata by table UUID. This operation is irreversible; data files already synced to object storage are not removed automatically. Returns an empty response on success. Required: virtual_cluster_id, table_uuid.
create_a_warp_stream_topic
Create a new topic in a WarpStream virtual cluster. Returns an empty response on success. Required: virtual_cluster_id, topic_name.
list_all_warp_stream_topics
List all topics in a WarpStream virtual cluster. Returns: id, created_at. Required: virtual_cluster_id.
get_single_warp_stream_topic_by_id
Describe a WarpStream topic by name, returning its partition count and full Kafka-compatible configuration. Returns: partition_count, configs.policy, retention.ms, compression.type, and WarpStream-specific settings). Required: virtual_cluster_id, topic_name.
update_a_warp_stream_topic_by_id
Update a WarpStream topic's partition count and/or configuration settings. Returns an empty response on success. Required: virtual_cluster_id, topic_name.
delete_a_warp_stream_topic_by_id
Delete a WarpStream topic by name, with optional soft-delete support to allow later recovery. Returns an empty response on success. Required: virtual_cluster_id, topic_name.
warp_stream_topics_undelete
Restore a soft-deleted topic in WarpStream. Only works for Fundamentals+ clusters when the topic was previously soft-deleted. Returns an empty response on success. Required: virtual_cluster_id, topic_id.
list_all_warp_stream_client_metrics_subscriptions
List all client metrics subscriptions configured on a WarpStream virtual cluster. Returns each subscription's name, interval_ms, metrics, and match. Required: virtual_cluster_id.
get_single_warp_stream_client_metrics_subscription_by_id
Get the configuration of a single WarpStream client metrics subscription by name. Returns client_metrics_subscription containing name, interval_ms, metrics, and match. Required: virtual_cluster_id, name.
update_a_warp_stream_client_metrics_subscription_by_id
Create or update a batch of WarpStream client metrics subscriptions on a virtual cluster. Each entry creates a new subscription if none with that name exists, or replaces the existing one. Returns an empty response on success. Required: virtual_cluster_id, client_metrics_subscriptions (each entry requires name).
delete_a_warp_stream_client_metrics_subscription_by_id
Delete a batch of WarpStream client metrics subscriptions by name from a virtual cluster. If any named subscription does not exist, the entire operation is aborted and a 404 error is returned. Returns an empty response on success. Required: virtual_cluster_id, client_metrics_subscription_names.
delete_a_warp_stream_user_by_id
Delete a WarpStream user by user_id. Returns an empty response on success. Required:id.
list_all_warp_stream_users
List all WarpStream users. Returns: id, virtual_cluster_id.
update_a_warp_stream_user_by_id
Update role assignments for a WarpStream user by assigning or unassigning roles. This endpoint behaves as a patch — only roles explicitly listed are affected; existing unmentioned assignments remain unchanged. Returns an empty response on success. Required: id.
create_a_warp_stream_user_role
Create a new user role in WarpStream with a display name, optional SSO group mapping, and workspace access grants. Returns an empty 204 response on success. Required: user_role_name. WarpStream recommends always setting access_grants resource_id to '*'.
delete_a_warp_stream_user_role_by_id
Delete a WarpStream user role by its role ID. Returns an empty 204 response on success. Required:id.
list_all_warp_stream_user_roles
List all user roles in WarpStream. Returns: id, created_at.
update_a_warp_stream_user_role_by_id
Update an existing WarpStream user role's name, SSO group mapping, or workspace access grants. Returns an empty 204 response on success. Required:id.
create_a_warp_stream_workspace
Create a new WarpStream workspace. By default also creates an application key authorized to manage resources in the workspace; pass skip_application_key_creation: true to skip key creation. Returns: virtual_cluster_id, pipeline_name. Required: workspace_name.
delete_a_warp_stream_workspace_by_id
Delete a WarpStream workspace by workspace_id. Returns an empty 204 response on success. Required:id.
list_all_warp_stream_workspaces
List all WarpStream workspaces in the account. Returns: id, name, created_at.
update_a_warp_stream_workspace_by_id
Rename a WarpStream workspace by workspace_id. Returns an empty 204 response on success. Required:id, new_workspace_name.
create_a_warp_stream_orbit_auto_migration
Initiate a WarpStream orbit topic auto-migration by selecting topics by literal name, regex, or both, and triggering cutover for each matched topic. Returns: initiated, errors, virtual_cluster_id, pipeline_name, pipeline_type. Required: virtual_cluster_id and at least one of topic_names or topic_name_regexes. Set at most one of max_time_lag_seconds and max_offset_lag.
delete_a_warp_stream_orbit_auto_migration_by_id
Abort an in-flight WarpStream orbit topic auto-migration, immediately rolling back topics to a non-migrating state. Topics already in COMPLETE cannot be aborted. Returns: aborted, errors. Required:id, topic_names.
get_single_warp_stream_orbit_auto_migration_by_id
Get the current migration state for every auto-migration topic in a WarpStream virtual cluster, equivalent to the Migration tab in the WarpStream console. Returns a topics array where each entry includes name, migration_state, total_offset_lag, time_lag_nanos, has_lag, initiated_at_unix, completed_at_unix, and migration_attempts. Required: virtual_cluster_id.
Why Truto
Why use Truto’s MCP server for WarpStream
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 600+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with WarpStream in under an hour. No boilerplate, no maintenance burden.
Link your customer’s WarpStream account
Use Truto’s frontend SDK to connect your customer’s WarpStream account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call WarpStream
Truto’s Proxy API is a 1-to-1 mapping of the WarpStream API. You call us, we call WarpStream, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate WarpStream’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about WarpStream on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What WarpStream operations does the integration support?
The integration covers control-plane resources: virtual clusters and their configuration and tier, workspaces, topics (including undelete), ACLs, API keys, cluster credentials, users and roles, consumer groups, quotas, pipelines and pipeline state, client metrics subscriptions, invoices and chargebacks, Tableflow tables, invitations, and Orbit auto-migrations. Kafka producer/consumer data-plane traffic is not part of this control-plane API.
How does authentication work for end customers?
WarpStream's control plane is accessed via API keys issued from a customer's WarpStream account. Through Truto, your end users connect by providing their WarpStream API key once, and Truto handles secure storage and injection on every request so you never touch the credential directly.
Can we manage per-tenant isolation inside a single WarpStream account?
Yes. You can create separate workspaces and virtual clusters per tenant, issue scoped credentials, and apply ACLs so each tenant only sees and writes to its own topics — all through the exposed create, list, update, and delete tools.
Is billing and chargeback data available at a granular level?
Yes. You can retrieve individual invoices, past invoices, invoice breakdowns, chargebacks, and past chargebacks by ID, which lets you attribute cost per workspace, cluster, and product line for FinOps use cases.
Can we migrate customers from existing Kafka clusters into WarpStream?
Yes. The integration exposes Orbit auto-migration create, get, and delete operations so you can initiate a migration on behalf of a customer, poll its status, and clean up when complete.
Are consumer lag and streaming health metrics accessible?
You can list consumer groups to inspect their state, partition assignments, and offsets, retrieve quotas by ID, and manage client metrics subscriptions. This gives you the primitives to build lag monitoring and health dashboards, though real-time metric streaming still flows over the Kafka protocol itself.
From the Blog
WarpStream integration guides
Deep dives, architecture guides, and practical tutorials for building WarpStream integrations.
WarpStream
Get WarpStream integrated into your app
Our team understands what it takes to make a WarpStream integration successful. A short, crisp 30 minute call with folks who understand the problem.