Claude Platform Docs

创建隧道证书

$client->beta->tunnels->certificates->create(string tunnelID, string caCertificatePEM, ?list<AnthropicBeta> betas, ?string workspaceID): TunnelCertificate
POST/v1/tunnels/{tunnel_id}/certificates

Tunnels API 目前处于研究预览阶段。它需要 anthropic-beta: mcp-tunnels-2026-06-22 请求头,并且可能在没有弃用期的情况下发生变更。它取代了位于 /v1/organizations/tunnels 的 Admin API 端点,这些端点在迁移窗口期内仍然可用。

在隧道上注册公共 CA 证书。Anthropic 在终止内层 TLS 会话时,会根据此 CA 验证网关的服务器证书。一个隧道最多持有两个未归档的证书。

Parameters
tunnelID: string
caCertificatePEM: string

PEM-encoded X.509 CA certificate. Must contain exactly one certificate and no private-key material. Maximum 8KB.

betas?:optional list<AnthropicBeta>

Optional header to specify the beta version(s) you want to use.

workspaceID?:optional string
Returns
class TunnelCertificate { $type = 'tunnel_certificate'; $id; $archivedAt; /* 4 more */ }
"tunnel_certificate" type
string id

Unique identifier for the certificate, prefixed with tcrt_.

?\Datetime archivedAt

A timestamp in RFC 3339 format

\Datetime createdAt

A timestamp in RFC 3339 format

?\Datetime expiresAt

A timestamp in RFC 3339 format

string fingerprint

Lowercase hex SHA-256 fingerprint of the certificate's DER encoding.

string tunnelID

ID of the tunnel the certificate is registered against.

创建隧道证书
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaTunnelCertificate = $client->beta->tunnels->certificates->create(
  'tunnel_id',
  caCertificatePEM: 'ca_certificate_pem',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
  workspaceID: 'wrkspc_011CZkZaBF1tNoB5wlCeusgy',
);

var_dump($betaTunnelCertificate);
Returns Examples
Response 200
{
  "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"
}