Skip to content
2 changes: 2 additions & 0 deletions modules/ROOT/nav.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,7 @@
** xref:manage:monitoring.adoc[]
** xref:manage:io-optimization.adoc[]
** xref:manage:raft-group-reconfiguration.adoc[Raft Group Reconfiguration]
** xref:manage:use-admin-api.adoc[Use the Admin API]
* xref:upgrade:index.adoc[Upgrade]
** xref:upgrade:rolling-upgrade.adoc[Upgrade Redpanda in Linux]
** xref:upgrade:k-rolling-upgrade.adoc[Upgrade Redpanda in Kubernetes]
Expand Down Expand Up @@ -259,6 +260,7 @@
*** link:/api/doc/http-proxy/[HTTP Proxy API]
*** link:/api/doc/schema-registry/[Schema Registry API]
*** link:/api/doc/admin/[Admin API]
*** link:/api/doc/admin/v2[Admin API (ConnectRPC)]
** xref:reference:data-transforms/sdks.adoc[]
*** xref:reference:data-transforms/golang-sdk.adoc[Golang]
*** xref:reference:data-transforms/rust-sdk.adoc[Rust]
Expand Down
11 changes: 11 additions & 0 deletions modules/get-started/pages/release-notes/redpanda.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,17 @@ This topic includes new content added in version {page-component-version}. For a
* xref:redpanda-cloud:get-started:whats-new-cloud.adoc[]
* xref:redpanda-cloud:get-started:cloud-overview.adoc#redpanda-cloud-vs-self-managed-feature-compatibility[Redpanda Cloud vs Self-Managed feature compatibility]
== New Admin API endpoints

Redpanda v25.3 introduces a new API style for the Admin API, powered by https://connectrpc.com/docs/introduction[ConnectRPC]. New Redpanda features and operations in v25.3 are available as ConnectRPC services, allowing you to use autogenerated Protobuf clients in addition to using HTTP clients such as `curl`.

Use the new ConnectRPC endpoints with the following v25.3 features:

* Shadowing
* Connected client monitoring

Existing Admin API endpoints from versions earlier than 25.3 remain supported, and you can continue to use them as usual. See xref:manage:use-admin-api.adoc[Manage Redpanda with the Admin API] to learn more about Admin API, and the link:/api/doc/admin/v2/[Admin API reference] to view the new endpoints.

== Schema Registry import mode

Redpanda Schema Registry now supports an import mode that allows you to import existing schemas and retain their current IDs and version numbers. Import mode is useful when migrating from another schema registry.
Expand Down
130 changes: 130 additions & 0 deletions modules/manage/pages/use-admin-api.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,130 @@
= Manage Redpanda using the Admin API
:page-categories: Management, High Availability, Upgrades
:description: Manage components of a Redpanda cluster, such as individual brokers and partition leadership. The Redpanda Admin API also allows you to perform operations that are specific to Redpanda Self-Managed and cannot be done using the standard Kafka API.

The Redpanda Admin API allows you to manage your cluster and perform operations specific to Redpanda Self-Managed that are not available through the standard Kafka API. You can call the Admin API using any HTTP client.

Most Admin API operations are also available using xref:get-started:intro-to-rpk.adoc[`rpk`], a CLI tool that interacts with the Admin API under the hood.

Redpanda v25.3 introduces new endpoints to the Admin API that are served with https://connectrpc.com/docs/introduction[ConnectRPC]. New Redpanda features and operations available starting in v25.3 are accessible as RPC services through these new endpoints. Existing Admin API operations from versions earlier than 25.3 remain available at their current URLs and you can continue to use them as usual (including with rpk v25.3 and later).

== Prerequisites

* A running Redpanda Self-Managed cluster.
* Superuser privileges, if xref:manage:security/authentication.adoc#enable-authentication[authentication] is enabled on your cluster for the Admin API. For more information, see xref:manage:security/authentication.adoc#create-superusers[Configure Authentication]. (Some endpoints are read-only and do not require superuser access.)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So if I want to know if the endpoints I need to use require superuser access, can I view a list somewhere that tells me which endpoints require it and which ones don't?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All v2 endpoints require superuser, but I don't have a definitive list for v1. Will reach out to an SME - if this list can be put together, these details can be added at a later time

* A tool to make HTTP requests, such as `curl`, or client libraries for your programming language of choice.
** For Admin API operations introduced in v25.3 and later, you can also make requests using a ConnectRPC client. You can install the Connect plugin for your preferred language and use the Protobuf compiler to generate an SDK. These RPC services are also available in a Buf module, which you can access through the https://buf.build/redpandadata/core/docs/dev:redpanda.core.admin.v2[Buf Schema Registry]. The https://buf.build/docs/cli/[Buf CLI] provides an easy way to generate client SDKs.

== Use the Admin API

Starting in Redpanda v25.3, in addition to RESTful HTTP endpoints, the Admin API serves new endpoints as ConnectRPC services. You can use either autogenerated Protobuf clients or HTTP requests to call ConnectRPC services.

Both new and legacy (RESTful) endpoints are accessible on the same port (default: 9644), but they use different URL paths.

NOTE: Legacy Admin API endpoints remain available and fully supported. Use them for operations not yet available as ConnectRPC services.

=== Authentication

If authentication is enabled on your cluster, you must provide credentials with each request, either using HTTP Basic authentication or by including an `Authorization` header with a bearer token. For example:

[,bash]
----
curl -u <user>:<password> -X GET "http://localhost:9644/v1/cluster_config"
----

=== Use legacy (RESTful) endpoints

The base URL for all requests to the legacy endpoints is:

```
http://<broker-address>:<admin-api-port>/v1/
```

// TODO: Update link if necessary when v2 URLs are finalized
For a full list of available endpoints, see the link:/api/doc/admin/v1/[Admin API Reference]. Select "v1" in the version selector to view legacy endpoints.

==== Example request

To use the Admin API to xref:manage:cluster-maintenance/decommission-brokers.adoc[decommission a broker]:

[tabs]
====
curl::
+
--
Send a PUT request to the link:/api/doc/admin/operation/operation-decommission[`/v1/brokers/\{broker_id}/decommission`] endpoint:

[,bash]
----
curl \
-u <user>:<password> \
--request PUT 'http://<broker-address>:<port>/v1/brokers/<broker-id>/decommission'
----
--

rpk::
+
--
For Linux deployments only, run xref:reference:rpk/rpk-redpanda/rpk-redpanda-admin-brokers-decommission.adoc[`rpk redpanda admin brokers decommission`]:

[,bash]
----
rpk redpanda admin brokers decommission <broker-id>
----
--
====

=== Use ConnectRPC endpoints

The new endpoints differ from the legacy endpoints in the following ways:

* You can use a generated ConnectRPC client to call methods directly from your application code, or send `curl` requests with a JSON payload, as with legacy endpoints.
* URL paths use the fully-qualified names of the ConnectRPC services.
* ConnectRPC endpoints accept only POST requests.

Use ConnectRPC endpoints with features introduced in v25.3 such as:

// TODO: Add links to docs when they are merged
* Shadowing
* Connected client monitoring

For a full list of available endpoints, see the link:/api/doc/admin/v2/[Admin API Reference]. Select "v2" in the version selector to view the ConnectRPC endpoints.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mattschumpert I think users are going to be throwing questions our way--we should be up front/transparent about v1 vs v2. If we are not, this will generate questions and may undermine user confidence in the docs.


==== Example request

To fail over a specific shadow topic from an existing shadow link:

[tabs]
====
curl::
+
--
Send a POST request to the link:/api/doc/admin/v2/operation/operation-redpanda-core-admin-v2-shadowlinkservice-failover[`redpanda.core.admin.v2.ShadowLinkService/FailOver`] endpoint:

[,bash]
----
curl \
-u <user>:<password> \
--request POST 'http://<broker-address>:<admin-api-port>/redpanda.core.admin.v2.ShadowLinkService/FailOver' \
--header "Content-Type: application/json" \
--data '{
"name": "<shadow-link-name>",
"shadowTopicName": "<shadow-topic-name>"
}'
----

- Request headers `Connect-Protocol-Version` and `Connect-Timeout-Ms` are optional.
- v2 endpoints also accept binary-encoded Protobuf request bodies. Use the `Content-Type: application/proto` header.
--

rpk::
+
--
Run `rpk shadow failover`:

[,bash]
----
rpk shadow failover <shadow-link-name> --topic <shadow-topic-name>
----
--
====
10 changes: 8 additions & 2 deletions modules/reference/pages/api-reference.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ Manage schemas within a Redpanda cluster. See also: xref:manage:schema-reg/index
* link:/api/doc/http-proxy/[HTTP Proxy API Reference]
+
HTTP Proxy is an HTTP server that exposes operations you can perform directly on a Redpanda cluster. Use the Redpanda HTTP Proxy API to perform a subset of actions that are also available through the Kafka API, but using simpler REST operations. See also: xref:develop:http-proxy.adoc[Use Redpanda with the HTTP Proxy API].
* link:/api/doc/admin/[Admin API Reference]
* Admin API Reference
+
Manage components of a Redpanda cluster, such as individual brokers and partition leadership. The Redpanda Admin API also allows you to perform operations that are specific to Redpanda Self-Managed and cannot be done using the standard Kafka API.
Manage components of a Redpanda cluster, such as individual brokers and partition leadership. The Redpanda Admin API also allows you to perform operations that are specific to Redpanda Self-Managed and cannot be done using the standard Kafka API. See also: xref:manage:use-admin-api.adoc[].
+
--
* link:/api/doc/admin/[Admin API (legacy)] endpoints are available on all supported versions of Redpanda. Select "v1" in the version selector to view these endpoints.
* link:/api/doc/admin/v2[Admin API (ConnectRPC)] endpoints are available on Redpanda version 25.3 and later. These endpoints provide access to new functionality introduced starting in Redpanda v25.3. Select "v2" in the version selector to view these endpoints.
--