POST /v1/serverless/clusters

Create a Redpanda Serverless cluster. Returns a long-running operation. For more information, see Use the Control Plane API. To check operation state, call GET /v1/operations/{id}.

application/json

Body Required

CreateServerlessClusterRequest is the request of CreateServerlessCluster.

  • serverless_cluster object

    Resource describing a Create ServerlessCluster.

    Hide serverless_cluster attributes Show serverless_cluster attributes object
    • name string Required

      Unique name of the Serverless cluster within the org.

    • resource_group_id string Required

      Resource group ID of the cluster.

    • serverless_region string Required

      Name of the region where the Serverless cluster will be provisioned.

Responses

  • 202 application/json

    Accepted

    Hide response attribute Show response attribute object
    • operation object

      Operation describes a long running operation

      Hide operation attributes Show operation attributes object
      • error object

        Describes errors

        Hide error attributes Show error attributes object
        • code string(int32)

          RPC status code, as described here.

          Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

        • details array[object]

          A list of messages that carries the error details.

          Details of the error.

          Details of the error.

          One of:
        • message string

          Detailed error message. No compatibility guarantees are given for the text contained in this message.

      • finished_at string(date-time)

        Timestamp when the operation has finished.

      • id string

        ID of the operation.

      • metadata object

        Metadata of the long-running Operation. Contains in-progress information.

        One of:
      • resource_id string | null
      • response object

        Response of the long-running Operation.

        One of:
      • started_at string(date-time)

        Timestamp when the operation has started.

      • state string

        describes if the operation has finished, or is still in progress. Only if done is true, either error or result become available.

        Values are STATE_IN_PROGRESS, STATE_COMPLETED, or STATE_FAILED.

      • type string

        Values are TYPE_CREATE_CLUSTER, TYPE_UPDATE_CLUSTER, TYPE_DELETE_CLUSTER, TYPE_CREATE_NETWORK, TYPE_DELETE_NETWORK, TYPE_CREATE_SERVERLESS_CLUSTER, TYPE_DELETE_SERVERLESS_CLUSTER, TYPE_CREATE_CLUSTER_WITH_DEPENDENCIES, TYPE_DELETE_CLUSTER_WITH_DEPENDENCIES, TYPE_CREATE_SERVERLESS_PRIVATE_LINK, TYPE_UPDATE_SERVERLESS_PRIVATE_LINK, TYPE_DELETE_SERVERLESS_PRIVATE_LINK, TYPE_CREATE_NETWORK_PEERING, TYPE_DELETE_NETWORK_PEERING, TYPE_CREATE_SHADOW_LINK, TYPE_UPDATE_SHADOW_LINK, or TYPE_DELETE_SHADOW_LINK.

  • 400 application/json

    Bad Request

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

  • 409 application/json

    Conflict

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

  • 500 application/json

    Internal Server Error. Please reach out to support.

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

  • default application/json

    An unexpected error response.

    Hide response attributes Show response attributes object
    • code string(int32)

      RPC status code, as described here.

      Values are OK, CANCELLED, UNKNOWN, INVALID_ARGUMENT, DEADLINE_EXCEEDED, NOT_FOUND, ALREADY_EXISTS, PERMISSION_DENIED, UNAUTHENTICATED, RESOURCE_EXHAUSTED, FAILED_PRECONDITION, ABORTED, OUT_OF_RANGE, UNIMPLEMENTED, INTERNAL, UNAVAILABLE, or DATA_LOSS.

    • details array[object]

      A list of messages that carries the error details.

      Details of the error.

      Details of the error.

      One of:
    • message string

      Detailed error message. No compatibility guarantees are given for the text contained in this message.

POST /v1/serverless/clusters
curl \ --request POST 'https://api.redpanda.com/v1/serverless/clusters' \ --header "Authorization: Bearer $ACCESS_TOKEN" \ --header "Content-Type: application/json" \ --data '{"serverless_cluster":{"name":"development-ServerlessCluster","resource_group_id":"a0b40af9-0250-48ca-9417-783ed127ce42","serverless_region":"string"}}'
Request examples
{ "serverless_cluster": { "name": "development-ServerlessCluster", "resource_group_id": "a0b40af9-0250-48ca-9417-783ed127ce42", "serverless_region": "string" } }
Response examples (202)
{ "operation": { "error": { "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }, "finished_at": "2025-05-04T09:42:00Z", "id": "string", "metadata": { "@type": "type.googleapis.com/redpanda.api.controlplane.v1.CreateNetworkMetadata", "network_id": "string" }, "resource_id": "string", "response": { "@type": "type.googleapis.com/redpanda.api.controlplane.v1.CreateClusterResponse", "cluster": { "api_gateway_access": "NETWORK_ACCESS_MODE_PRIVATE", "aws_private_link": { "allowed_principals": [ "arn:aws:iam::account-number-without-hyphens:user/username or arn:aws:iam::account-number-without-hyphens:root" ], "connect_console": true, "enabled": true, "http_proxy_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "kafka_api_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "schema_registry_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "status": { "console_port": 42, "created_at": "2025-05-04T09:42:00Z", "deleted_at": "2025-05-04T09:42:00Z", "kafka_api_node_base_port": 42, "kafka_api_seed_port": 42, "redpanda_proxy_node_base_port": 42, "redpanda_proxy_seed_port": 42, "schema_registry_seed_port": 42, "service_id": "vpce-svc-05fff2117d648da35", "service_name": "com.amazonaws.vpce.us-west-2.vpce-svc-05fff2117d648da35", "service_state": "Pending | Available | Deleting | Deleted | Failed", "vpc_endpoint_connections": [ { "connection_id": "vpce-con-00b9cba3360fe4aec", "created_at": "2025-05-04T09:42:00Z", "dns_entries": [ { "dns_name": "vpce-0751b7ad8a51777f2-1hpievf5.vpce-svc-0d489fa89f24e3802.us-east-2.vpce.amazonaws.com", "hosted_zone_id": "string" } ], "id": "string", "load_balancer_arns": [ "string" ], "owner": "string", "state": "pendingAcceptance | pending | available | deleting | deleted | rejected | failed" } ] } }, "azure_private_link": { "allowed_subscriptions": [ "4a73b02e-90c1-4d76-af36-5c935dd41e7c" ], "connect_console": true, "enabled": true, "http_proxy_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "kafka_api_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "schema_registry_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "status": { "approved_subscriptions": [ "string" ], "console_port": 42, "created_at": "2025-05-04T09:42:00Z", "deleted_at": "2025-05-04T09:42:00Z", "dns_a_record": "string", "kafka_api_node_base_port": 42, "kafka_api_seed_port": 42, "private_endpoint_connections": [ { "connection_id": "string", "connection_name": "string", "created_at": "2025-05-04T09:42:00Z", "private_endpoint_id": "/subscriptions/<sub-id>/resourceGroups/<rg-id>/providers/Microsoft.Network/privateEndpoints/<name>", "private_endpoint_name": "string", "status": "Approved | Rejected" } ], "redpanda_proxy_node_base_port": 42, "redpanda_proxy_seed_port": 42, "schema_registry_seed_port": 42, "service_id": "/subscriptions/<sub-id>/resourceGroups/<rg-id>/providers/Microsoft.Network/privateLinkServices/<name>", "service_name": "pls-name" } }, "cloud_provider": "CLOUD_PROVIDER_AWS", "cloud_provider_tags": { "additionalProperty1": "string", "additionalProperty2": "string" }, "cloud_storage": { "aws": { "arn": "string" }, "azure": { "allowed_ips": [ "string" ], "allowed_subnet_ids": [ "string" ], "container_name": "string", "resource_group_name": "string", "storage_account_name": "string", "subscription_id": "string" }, "gcp": { "name": "string" }, "skip_destroy": true }, "cluster_configuration": { "computed_properties": {}, "custom_properties": {} }, "connection_type": "CONNECTION_TYPE_PUBLIC", "created_at": "2025-05-04T09:42:00Z", "current_redpanda_version": "string", "customer_managed_resources": { "aws": { "agent_instance_profile": { "arn": "string" }, "cloud_storage_bucket": { "arn": "string" }, "cluster_security_group": { "arn": "string" }, "connectors_node_group_instance_profile": { "arn": "string" }, "connectors_security_group": { "arn": "string" }, "k8s_cluster_role": { "arn": "string" }, "node_security_group": { "arn": "string" }, "permissions_boundary_policy": { "arn": "string" }, "redpanda_agent_security_group": { "arn": "string" }, "redpanda_connect_node_group_instance_profile": { "arn": "string" }, "redpanda_connect_security_group": { "arn": "string" }, "redpanda_node_group_instance_profile": { "arn": "string" }, "redpanda_node_group_security_group": { "arn": "string" }, "utility_node_group_instance_profile": { "arn": "string" }, "utility_security_group": { "arn": "string" } }, "azure": { "cidrs": { "aks_service_cidr": "string" }, "key_vaults": { "console_vault": { "name": "string" }, "management_vault": { "name": "string" } }, "resource_groups": { "iam_resource_group": { "name": "string" }, "redpanda_resource_group": { "name": "string" }, "storage_resource_group": { "name": "string" } }, "security_groups": { "redpanda_security_group": { "name": "string" } }, "tiered_cloud_storage": { "resource_group": { "name": "string" }, "storage_account_name": "string", "storage_container_name": "string" }, "user_assigned_identities": { "agent_user_assigned_identity": { "name": "string" }, "aks_user_assigned_identity": { "name": "string" }, "cert_manager_assigned_identity": { "name": "string" }, "external_dns_assigned_identity": { "name": "string" }, "kafka_connect_assigned_identity": { "name": "string" }, "redpanda_cluster_assigned_identity": { "name": "string" }, "redpanda_connect_api_assigned_identity": { "name": "string" }, "redpanda_connect_assigned_identity": { "name": "string" }, "redpanda_console_assigned_identity": { "name": "string" }, "redpanda_operator_assigned_identity": { "name": "string" } } }, "gcp": { "agent_service_account": { "email": "string" }, "connector_service_account": { "email": "string" }, "console_service_account": { "email": "string" }, "gke_service_account": { "email": "string" }, "psc_nat_subnet_name": "string", "psc_v2_nat_subnet_name": "string", "redpanda_cluster_service_account": { "email": "string" }, "redpanda_connect_api_service_account": { "email": "string" }, "redpanda_connect_service_account": { "email": "string" }, "redpanda_operator_service_account": { "email": "string" }, "subnet": { "k8s_master_ipv4_range": "string", "name": "string", "secondary_ipv4_range_pods": { "name": "string" }, "secondary_ipv4_range_services": { "name": "string" } }, "tiered_storage_bucket": { "name": "string" } } }, "dataplane_api": { "url": "https://api-ab1234l0.cjb69h1c4vs42pca89s0.fmc.prd.cloud.redpanda.com" }, "desired_redpanda_version": "string", "gcp_global_access_enabled": true, "gcp_private_service_connect": { "consumer_accept_list": [ { "source": "gcp-project-1" } ], "enabled": true, "global_access_enabled": true, "http_proxy_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "kafka_api_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "schema_registry_auth_mode": "PRIVATE_LINK_AUTH_MODE_MATCH", "status": { "connected_endpoints": [ { "connection_id": "string", "consumer_network": "string", "endpoint": "string", "status": "string" } ], "created_at": "2025-05-04T09:42:00Z", "deleted_at": "2025-05-04T09:42:00Z", "dns_a_records": [ "string" ], "kafka_api_node_base_port": 42, "kafka_api_seed_port": 42, "redpanda_proxy_node_base_port": 42, "redpanda_proxy_seed_port": 42, "schema_registry_seed_port": 42, "seed_hostname": "string", "service_attachment": "string" } }, "http_proxy": { "all_urls": { "mtls": "string", "private_link_mtls": "string", "private_link_sasl": "string", "sasl": "string" }, "mtls": { "ca_certificates_pem": [ "-----BEGIN CERTIFICATE-----\nMII........\n-----END CERTIFICATE-----" ], "enabled": true, "principal_mapping_rules": [ "RULE:.*CN=([^,]+).*/$1/" ] }, "sasl": { "enabled": true }, "url": "https://pandaproxy-aa0000l0.cjb69h1c4vs42pca89s0.fmc.prd.cloud.redpanda.com:9092" }, "id": "string", "kafka_api": { "all_seed_brokers": { "mtls": "string", "private_link_mtls": "string", "private_link_sasl": "string", "sasl": "string" }, "mtls": { "ca_certificates_pem": [ "-----BEGIN CERTIFICATE-----\nMII........\n-----END CERTIFICATE-----" ], "enabled": true, "principal_mapping_rules": [ "RULE:.*CN=([^,]+).*/$1/" ] }, "sasl": { "enabled": true }, "seed_brokers": [ "string" ] }, "kafka_connect": { "enabled": true }, "maintenance_window_config": { "anytime": {}, "day_hour": { "day_of_week": "MONDAY", "hour_of_day": 42 }, "unspecified": {} }, "name": "development-cluster", "nat_gateways": [ "string" ], "network_id": "cjcuq79c4vs94fcufc2g", "prometheus": { "url": "https://console-aa0000l0.cjb69h1c4vs42pca89s0.fmc.prd.cloud.redpanda.com/api/cloud/prometheus/public_metrics" }, "read_replica_cluster_ids": [ "string" ], "redpanda_console": { "url": "https://console-aa0000l0.cjb69h1c4vs42pca89s0.fmc.prd.cloud.redpanda.com/api" }, "redpanda_node_count": 42, "region": "us-central1", "resource_group_id": "a0b40af9-0250-48ca-9417-783ed127ce42", "schema_registry": { "all_urls": { "mtls": "string", "private_link_mtls": "string", "private_link_sasl": "string", "sasl": "string" }, "mtls": { "ca_certificates_pem": [ "-----BEGIN CERTIFICATE-----\nMII........\n-----END CERTIFICATE-----" ], "enabled": true, "principal_mapping_rules": [ "RULE:.*CN=([^,]+).*/$1/" ] }, "sasl": { "enabled": true }, "url": "string" }, "state": "STATE_CREATING_AGENT", "state_description": { "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }, "throughput_tier": "string", "type": "TYPE_DEDICATED", "updated_at": "2025-05-04T09:42:00Z", "zones": [ "string" ] } }, "started_at": "2025-05-04T09:42:00Z", "state": "STATE_IN_PROGRESS", "type": "TYPE_CREATE_CLUSTER" } }
Response examples (400)
{ "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }
Response examples (409)
{ "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }
Response examples (500)
{ "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }
Response examples (default)
{ "code": "OK", "details": [ { "@type": "type.googleapis.com/google.rpc.BadRequest", "field_violations": [ { "description": "string", "field": "string", "localized_message": { "locale": "string", "message": "string" }, "reason": "string" } ] } ], "message": "string" }