Create Tunnel Certificate
BetaTunnelCertificate beta().tunnels().certificates().create(CertificateCreateParamsparams, RequestOptionsrequestOptions = RequestOptions.none())POST/v1/tunnels/{tunnel_id}/certificates
The Tunnels API is in research preview. It requires the anthropic-beta: mcp-tunnels-2026-06-22 header and may change without a deprecation period. It supersedes the Admin API endpoints at /v1/organizations/tunnels, which remain available during a migration window.
Registers a public CA certificate on a tunnel. Anthropic verifies the gateway's server certificate against this CA when it terminates the inner TLS session. A tunnel holds at most two non-archived certificates.
Parameters
Returns
Create Tunnel Certificate
package com.anthropic.example;
import com.anthropic.client.AnthropicClient;
import com.anthropic.client.okhttp.AnthropicOkHttpClient;
import com.anthropic.models.beta.tunnels.certificates.BetaTunnelCertificate;
import com.anthropic.models.beta.tunnels.certificates.CertificateCreateParams;
public final class Main {
private Main() {}
public static void main(String[] args) {
AnthropicClient client = AnthropicOkHttpClient.fromEnv();
CertificateCreateParams params = CertificateCreateParams.builder()
.tunnelId("tunnel_id")
.caCertificatePem("ca_certificate_pem")
.build();
BetaTunnelCertificate betaTunnelCertificate = client.beta().tunnels().certificates().create(params);
}
}{
"id": "id",
"archived_at": "2019-12-27T18:11:19.117Z",
"created_at": "2019-12-27T18:11:19.117Z",
"expires_at": "2019-12-27T18:11:19.117Z",
"fingerprint": "fingerprint",
"tunnel_id": "tunnel_id",
"type": "tunnel_certificate"
}Returns Examples
{
"id": "id",
"archived_at": "2019-12-27T18:11:19.117Z",
"created_at": "2019-12-27T18:11:19.117Z",
"expires_at": "2019-12-27T18:11:19.117Z",
"fingerprint": "fingerprint",
"tunnel_id": "tunnel_id",
"type": "tunnel_certificate"
}