---
title: Header beta
url: https://platform.claude.com/docs/it/api/beta-headers
description: Accedi alle funzionalità sperimentali prima che diventino parte dell'API standard con l'header `anthropic-beta` o il parametro `betas` dell'SDK.
---

I "beta headers" (header beta) ti consentono di accedere a funzionalità sperimentali e a nuove capacità dei modelli prima che diventino parte dell'API standard.

<Info>
  L'[SDK client](https://platform.claude.com/docs/it/cli-sdks-libraries/overview) espone un namespace `client.beta` (csharp, go: `client.Beta`; java: `client.beta()`; php: `$client->beta`) per chiamare l'API con le funzionalità beta abilitate.
</Info>

## Come usare gli header beta

Per accedere alle funzionalità beta, includi l'header `anthropic-beta` nelle tue richieste API:

```http
POST /v1/messages
x-api-key: YOUR_API_KEY
anthropic-version: 2023-06-01
anthropic-beta: BETA_FEATURE_NAME
content-type: application/json
```

La documentazione di ciascuna funzionalità indica il nome beta esatto da inviare. La [panoramica dell'API](https://platform.claude.com/docs/it/api/overview) elenca le API attualmente in beta.

Gli esempi seguenti mostrano la stessa richiesta con cURL, la CLI `ant` e l'SDK, usando come esempio la beta di [modifica del contesto](https://platform.claude.com/docs/it/build-with-claude/context-editing). L'SDK accetta i nomi beta tramite `betas` (csharp, go: `Betas`; java: `.addBeta()`) e invia l'header `anthropic-beta` al posto tuo:

<CodeGroup>
  ```bash cURL
  curl https://api.anthropic.com/v1/messages \
    -H "x-api-key: $ANTHROPIC_API_KEY" \
    -H "anthropic-version: 2023-06-01" \
    -H "anthropic-beta: context-management-2025-06-27" \
    -H "content-type: application/json" \
    -d '{
      "model": "claude-opus-5-5",
      "max_tokens": 1024,
      "messages": [
        {"role": "user", "content": "Hello, Claude"}
      ]
    }'
  ```

  ```bash CLI
  ant beta:messages create \
    --beta context-management-2025-06-27 \
    --model claude-opus-5-5 \
    --max-tokens 1024 \
    --message '{role: user, content: "Hello, Claude"}'
  ```

  ```python Python
  client = Anthropic()

  response = client.beta.messages.create(
      model="claude-opus-5-5",
      max_tokens=1024,
      messages=[{"role": "user", "content": "Hello, Claude"}],
      betas=["context-management-2025-06-27"],
  )

  print(response.content)
  ```

  ```typescript TypeScript
  const client = new Anthropic();

  const msg = await client.beta.messages.create({
    model: "claude-opus-5-5",
    max_tokens: 1024,
    messages: [{ role: "user", content: "Hello, Claude" }],
    betas: ["context-management-2025-06-27"]
  });

  console.log(msg.content);
  ```

  ```csharp C#
  var client = new AnthropicClient();

  var message = await client.Beta.Messages.Create(
      new MessageCreateParams
      {
          Model = Model.ClaudeOpus5_5,
          MaxTokens = 1024,
          Messages = [new() { Role = Role.User, Content = "Hello, Claude" }],
          Betas = ["context-management-2025-06-27"],
      }
  );

  Console.WriteLine(string.Join("\n", message.Content));
  ```

  ```go Go
  client := anthropic.NewClient()

  message, err := client.Beta.Messages.New(context.TODO(), anthropic.BetaMessageNewParams{
  	Model:     anthropic.ModelClaudeOpus5_5,
  	MaxTokens: 1024,
  	Messages: []anthropic.BetaMessageParam{
  		anthropic.NewBetaUserMessage(anthropic.NewBetaTextBlock("Hello, Claude")),
  	},
  	Betas: []anthropic.AnthropicBeta{anthropic.AnthropicBetaContextManagement2025_06_27},
  })
  if err != nil {
  	panic(err)
  }

  fmt.Printf("%+v\n", message.Content)
  ```

  ```java Java
  AnthropicClient client = AnthropicOkHttpClient.fromEnv();

  MessageCreateParams params = MessageCreateParams.builder()
    .model(Model.CLAUDE_OPUS_5_5)
    .maxTokens(1024)
    .addUserMessage("Hello, Claude")
    .addBeta(AnthropicBeta.CONTEXT_MANAGEMENT_2025_06_27)
    .build();

  BetaMessage message = client.beta().messages().create(params);
  System.out.println(message.content());
  ```

  ```php PHP
  $client = new Client();

  $message = $client->beta->messages->create(
      maxTokens: 1024,
      messages: [['role' => 'user', 'content' => 'Hello, Claude']],
      model: 'claude-opus-5-5',
      betas: ['context-management-2025-06-27'],
  );

  echo $message;
  ```

  ```ruby Ruby
  client = Anthropic::Client.new

  message = client.beta.messages.create(
    model: "claude-opus-5-5",
    max_tokens: 1024,
    messages: [{role: "user", content: "Hello, Claude"}],
    betas: ["context-management-2025-06-27"]
  )

  puts(message.content)
  ```
</CodeGroup>

<Warning>
  Le funzionalità beta sono sperimentali e potrebbero:

  * Subire modifiche incompatibili con preavviso
  * Essere deprecate o rimosse
  * Avere limiti di velocità o prezzi diversi
  * Non essere disponibili in tutte le regioni
</Warning>

### Funzionalità beta multiple

Per usare più funzionalità beta in una singola richiesta, includi tutti i nomi delle funzionalità nell'header separati da virgole:

```http
anthropic-beta: feature1,feature2,feature3
```

Puoi anche inviare l'header `anthropic-beta` più di una volta nella stessa richiesta. La Claude API legge ogni header `anthropic-beta`, quindi quanto segue equivale all'esempio precedente:

```http
anthropic-beta: feature1
anthropic-beta: feature2
anthropic-beta: feature3
```

Con l'SDK, elenca ciascuna funzionalità (ad esempio, `betas=["feature1", "feature2"]` (typescript, ruby: `betas: ["feature1", "feature2"]`; php: `betas: ['feature1', 'feature2']`; csharp: `Betas = ["feature1", "feature2"]`; go: `Betas: []anthropic.AnthropicBeta{"feature1", "feature2"}`; java: `.addBeta("feature1").addBeta("feature2")`)). Con la CLI, passa un singolo flag `--beta` con i nomi delle funzionalità separati da virgole (ad esempio, `--beta feature1,feature2`). Puoi anche ripetere il flag (ad esempio, `--beta feature1 --beta feature2`).

### Funzionalità beta su altre piattaforme

I nomi beta sono gli stessi su ogni piattaforma che li accetta, ma non tutte le piattaforme accettano ogni beta. [Claude Platform on AWS](https://platform.claude.com/docs/it/build-with-claude/claude-platform-on-aws), [Microsoft Foundry](https://platform.claude.com/docs/it/build-with-claude/claude-in-microsoft-foundry) e [Google Cloud](https://platform.claude.com/docs/it/build-with-claude/claude-on-vertex-ai) accettano i nomi beta nell'header `anthropic-beta`, come fa la Claude API. Per inviare più beta, inserisci i loro nomi in un unico header, separati da virgole: Google Cloud legge un solo header `anthropic-beta` e ignora gli altri, quindi le beta negli altri header non hanno effetto.

Su Amazon Bedrock, la posizione dei nomi beta dipende dall'API che chiami:

* [Claude in Amazon Bedrock](https://platform.claude.com/docs/it/build-with-claude/claude-in-amazon-bedrock) (endpoint `bedrock-mantle`) li accetta nell'header `anthropic-beta`.
* L'[API InvokeModel](https://platform.claude.com/docs/it/build-with-claude/claude-on-amazon-bedrock-legacy) li legge dal corpo della richiesta, non da un header. Elencali nell'array `anthropic_beta` del corpo, un nome per elemento, ad esempio `"anthropic_beta": ["feature1", "feature2"]`.

### Header specifici per endpoint

Alcune API beta sono limitate a endpoint specifici e richiedono un header beta specifico della funzionalità in ogni richiesta:

| Endpoint                                         | Header beta                 |
| ------------------------------------------------ | --------------------------- |
| `/v1/agents`, `/v1/sessions`, `/v1/environments` | `managed-agents-2026-04-01` |
| `/v1/tunnels`                                    | `mcp-tunnels-2026-06-22`    |
| `/v1/memory_stores` e sotto-risorse              | `agent-memory-2026-07-22`   |

Il namespace `client.beta` (csharp, go: `client.Beta`; java: `client.beta()`; php: `$client->beta`) dell'SDK aggiunge questi header automaticamente. Aggiungili tu stesso solo quando effettui richieste HTTP dirette. Consulta la [panoramica di Managed Agents](https://platform.claude.com/docs/it/managed-agents/overview), [Usare la memoria degli agenti](https://platform.claude.com/docs/it/managed-agents/memory) e il [riferimento dei tunnel MCP](https://platform.claude.com/docs/it/agents-and-tools/mcp-tunnels/reference#tunnels-api) per i dettagli.

Gli header specifici per endpoint che si applicano allo stesso endpoint non sono sempre combinabili. Sugli endpoint dei memory store, `agent-memory-2026-07-22` sostituisce `managed-agents-2026-04-01`: inviarli entrambi nella stessa richiesta restituisce un errore `400`. L'SDK invia automaticamente l'header corretto per ciascun endpoint.

### Convenzioni di denominazione delle versioni

I nomi delle funzionalità beta seguono tipicamente lo schema `feature-name-YYYY-MM-DD`, dove la data indica quando la beta è stata rilasciata. Usa sempre il nome esatto della funzionalità beta come documentato.

## Gestione degli errori

Se usi un nome beta non valido, o una beta a cui la tua organizzazione non ha accesso, riceverai una risposta di errore `400`:

```json Output
{
  "type": "error",
  "error": {
    "type": "invalid_request_error",
    "message": "Unexpected value(s) `invalid-beta-name` for the `anthropic-beta` header. Please consult our documentation at platform.claude.com/docs or try again without the header."
  },
  "request_id": "req_011CcnGfC9fELffo2EALu4Wd"
}
```

## Ottenere assistenza

Per gli aggiornamenti sulle funzionalità beta, consulta le [note di rilascio](https://platform.claude.com/docs/it/release-notes/overview). Per assistenza con problemi in produzione, contatta il [supporto](https://support.claude.com/).

## Prossimi passi

<CardGroup cols={2}>
  <Card title="Errori" icon="info" href="https://platform.claude.com/docs/it/api/errors">
    Comprendi i codici di stato HTTP, la struttura delle risposte di errore e gli ID delle richieste restituiti dalla Claude API, e gestisci gli errori con le eccezioni tipizzate dell'SDK.
  </Card>

  <Card title="Panoramica dell'API" icon="compass" href="https://platform.claude.com/docs/it/api/overview">
    Esplora le funzionalità della Claude API, incluse le API attualmente in beta.
  </Card>
</CardGroup>
