Skip to content

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 us
WarpStream

Use Cases

Why integrate with WarpStream

Common scenarios for SaaS companies building WarpStream integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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).

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

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.