---
title: Riferimento per i risultati di Security posture
url: https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference
description: "Consulta l'endpoint della Compliance API che restituisce i risultati attuali di Security posture di un'organizzazione: la richiesta, i campi della risposta, il significato di ciascuno stato e gli errori."
---

<Note>
  Per abilitare la Compliance API, consulta [Configura la Compliance API](https://platform.claude.com/docs/it/manage-claude/compliance-api-access).
</Note>

Questo endpoint restituisce una voce per la maggior parte dei controlli di sicurezza di un’organizzazione, valutati al momento della richiesta, con l’[attestazione di Security posture](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/overview#attestations) che la risposta mostra per ciascun controllo. Ti serve una Compliance Access Key che copra l’organizzazione, con lo scope `read:compliance_org_data` o `read:org_audit`; [Disponibilità di Security posture](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/overview#availability) indica quali organizzazioni possono essere lette.

## Richiesta

Invia una richiesta `GET` a `/v1/compliance/organizations/{organization_id}/security_posture`. Ogni chiamata legge una sola organizzazione e la risposta non è impaginata.

```bash cURL
curl --fail-with-body -sS \
  "https://api.anthropic.com/v1/compliance/organizations/91012d09-e48b-438e-a489-1bebfd8fa6f9/security_posture" \
  -H "x-api-key: $ANTHROPIC_COMPLIANCE_ACCESS_KEY" \
  -H "anthropic-version: 2026-10-21"
```

| Elemento            | Regola                                                                                                                                                                                                                                                                                                               |
| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `organization_id`   | L’`uuid` di un’[organizzazione collegata](https://platform.claude.com/docs/it/manage-claude/compliance-api#how-the-compliance-api-works) ottenuto da [Elencare le organizzazioni](https://platform.claude.com/docs/it/manage-claude/compliance-org-data#list-organizations); qualsiasi altro valore restituisce 404. |
| Chiave              | Una [chiave per l’organizzazione padre](https://platform.claude.com/docs/it/manage-claude/compliance-api-access#set-up-the-compliance-api) può indicare qualsiasi organizzazione collegata, e una chiave per una singola organizzazione può indicare solo quell’organizzazione.                                      |
| `anthropic-version` | Obbligatorio; una richiesta senza di esso restituisce 400.                                                                                                                                                                                                                                                           |
| Parametri di query  | Nessuno; una richiesta con qualsiasi parametro di query restituisce 400.                                                                                                                                                                                                                                             |

## Risposta

Il seguente esempio abbreviato mostra quattro dei controlli che una risposta può contenere. È la risposta a una chiave che dispone di `read:compliance_org_data` e `read:compliance_user_data`.

```json Response
{
  "type": "security_posture",
  "organization_id": "91012d09-e48b-438e-a489-1bebfd8fa6f9",
  "evaluated_at": "2027-02-09T09:00:02.417305Z",
  "comments_status": "not_enabled",
  "controls": [
    {
      "id": "sso_enabled",
      "display_name": "Single sign-on (SSO)",
      "section": "identity_access",
      "setting_name": "sso_enabled",
      "status": "passed",
      "rating": "passed",
      "current_value": "On",
      "desired_state": "On",
      "attestation": null
    },
    {
      "id": "directory_sync_enabled",
      "display_name": "Directory sync (SCIM)",
      "section": "identity_access",
      "setting_name": "directory_sync_enabled",
      "status": "failed_check_accepted_risk",
      "rating": "passed",
      "current_value": "Off",
      "desired_state": "On",
      "attestation": {
        "state": "in_force",
        "attested_at": "2026-10-20T15:04:00.220114Z",
        "comment": null,
        "attested_by": {
          "type": "user_actor",
          "user_id": "user_01WxYzAbCdEfGhJkMnPqRsTu"
        }
      }
    },
    {
      "id": "allowed_invite_domains",
      "display_name": "Allowed email domains",
      "section": "identity_access",
      "setting_name": "allowed_invite_domains",
      "status": "descriptive",
      "rating": "descriptive",
      "current_value": "example.com",
      "desired_state": null,
      "attestation": null
    },
    {
      "id": "oauth_conditional_access",
      "display_name": "OAuth conditional access on connected SaaS",
      "section": "connectors_integrations",
      "setting_name": null,
      "status": "not_attested",
      "rating": "not_attested",
      "current_value": null,
      "desired_state": "Completed",
      "attestation": {
        "state": "review_due",
        "attested_at": "2026-11-02T09:30:00.008771Z",
        "comment": null,
        "attested_by": {
          "type": "user_actor",
          "user_id": "user_01AbCdEfGhJkLmNpQrStUvWx"
        }
      }
    }
  ]
}
```

Ogni campo è sempre presente, e un campo senza valore è `null`, mai omesso. Un orario non ha cifre frazionarie oppure ne ha sei, quindi confronta gli orari come orari, non come stringhe.

### Campi di primo livello

| Campo             | Tipo                    | Descrizione                                                                                                                                                                                                                    |
| ----------------- | ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `type`            | stringa                 | Sempre `security_posture`.                                                                                                                                                                                                     |
| `organization_id` | stringa                 | L’UUID dell’organizzazione.                                                                                                                                                                                                    |
| `evaluated_at`    | stringa (RFC 3339, UTC) | Il momento in cui ogni controllo è stato valutato.                                                                                                                                                                             |
| `comments_status` | stringa                 | Indica se i commenti delle attestazioni sono stati letti; consulta [Chi ha attestato e i commenti](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference#who-attested-and-comments). |
| `controls`        | array di oggetti        | I controlli dell’organizzazione; l’array non è mai vuoto.                                                                                                                                                                      |

### Campi di `controls[]`

| Campo           | Tipo           | Descrizione                                                                                                                                                                                                                                                                                                    |
| --------------- | -------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`            | stringa        | L’identificatore del controllo, che è lo stesso per ogni organizzazione e non cambia mai.                                                                                                                                                                                                                      |
| `display_name`  | stringa        | Il nome visualizzato del controllo, come testo di visualizzazione in inglese la cui formulazione può cambiare.                                                                                                                                                                                                 |
| `section`       | stringa        | La sezione a cui appartiene il controllo, una delle dieci elencate dopo questa tabella; possono essere aggiunti altri valori, quindi tratta un valore sconosciuto come una sezione a sé.                                                                                                                       |
| `setting_name`  | stringa o null | Il `name` della voce nelle impostazioni effettive dell’organizzazione che questo controllo legge; `null` quando non legge alcuna voce di questo tipo.                                                                                                                                                          |
| `status`        | stringa        | Il motivo del risultato del controllo; consulta [Valori di stato](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference#status-values).                                                                                                                              |
| `rating`        | stringa        | Il risultato del controllo, che deriva da `status`; consulta [Valori di stato](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference#status-values).                                                                                                                 |
| `current_value` | stringa o null | Il valore attuale, come testo di visualizzazione in inglese la cui formulazione può cambiare; `null` su un controllo manuale o quando non è stato letto alcun valore.                                                                                                                                          |
| `desired_state` | stringa o null | Il valore consigliato, come testo di visualizzazione in inglese la cui formulazione può cambiare; `null` quando non ce n’è uno per questa organizzazione.                                                                                                                                                      |
| `attestation`   | oggetto o null | L’attestazione che la risposta mostra, anche mentre non è in vigore; `null` mentre `status` è `descriptive`, `not_applicable` o `not_evaluated`, e in [questi casi](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference#how-an-attestation-shows-in-the-response). |

`section` è uno tra `identity_access`, `data_privacy`, `capabilities`, `connectors_integrations`, `chats_desktop_mdm`, `cowork_admin_console`, `cowork_desktop_mdm`, `claude_code_admin_console`, `claude_code_managed_settings` e `healthy_adoption`.

Per confrontare i valori nel codice, cerca `setting_name` nelle [impostazioni effettive](https://platform.claude.com/docs/it/manage-claude/compliance-org-data#get-effective-organization-settings) della stessa organizzazione. La ricerca può non trovare nulla, e due controlli possono condividere lo stesso `setting_name`.

### Campi di `attestation`

| Campo         | Tipo                    | Descrizione                                                                                                                                                                                                                                                                             |
| ------------- | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `state`       | stringa                 | Indica se l’attestazione è in vigore; consulta [Stati dell’attestazione](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/results-reference#attestation-states).                                                                                           |
| `attested_at` | stringa (RFC 3339, UTC) | Quando è stata effettuata l’attestazione.                                                                                                                                                                                                                                               |
| `comment`     | stringa o null          | Il commento salvato con l’attestazione, di al massimo 2.000 caratteri; `null` se non ce n’è uno, o se `comments_status` non è `available`.                                                                                                                                              |
| `attested_by` | oggetto o null          | La persona che ha attestato; `null` quando la chiave non dispone né di `read:compliance_user_data` né di `read:org_audit`, quando l’account di quella persona è stato eliminato o è in fase di eliminazione, o quando l’endpoint non restituisce per l’organizzazione chi ha attestato. |

### Campi di `attested_by`

| Campo     | Tipo    | Descrizione                               |
| --------- | ------- | ----------------------------------------- |
| `type`    | stringa | Sempre `user_actor`.                      |
| `user_id` | stringa | L’ID dell’utente, che inizia con `user_`. |

## Valori di stato

`status` indica il motivo del risultato di un controllo, e ogni stato ha un solo `rating`.

| `status`                     | Tipo di controllo    | Significato                                                                                                              | `rating`       | Nella pagina                                                           |
| ---------------------------- | -------------------- | ------------------------------------------------------------------------------------------------------------------------ | -------------- | ---------------------------------------------------------------------- |
| `passed`                     | automatico           | Il valore attuale soddisfa il valore consigliato.                                                                        | `passed`       | Superato                                                               |
| `matches_profile`            | automatico           | Il valore attuale è uguale al valore consigliato.                                                                        | `passed`       | Superato                                                               |
| `exceeds_baseline`           | automatico           | Il valore attuale è più restrittivo del valore consigliato.                                                              | `passed`       | Superato                                                               |
| `failed_check_accepted_risk` | automatico           | La verifica automatica ha esito negativo, e un rischio accettato è in vigore.                                            | `passed`       | Superato                                                               |
| `failed`                     | automatico o manuale | Il valore attuale non soddisfa il valore consigliato, oppure un’attestazione che la risposta omette dà questo risultato. | `failed`       | Non superato, oppure Superato con un’attestazione Completato in vigore |
| `review`                     | automatico           | Il valore attuale è meno restrittivo del valore consigliato.                                                             | `failed`       | Non superato                                                           |
| `attested_completed`         | manuale              | È in vigore un’attestazione con il valore Completato (`completed`).                                                      | `passed`       | Superato                                                               |
| `attested_accepted_risk`     | manuale              | È in vigore un’attestazione con il valore Rischio accettato (`accepted_risk`).                                           | `passed`       | Superato                                                               |
| `not_attested`               | manuale              | Nessuna attestazione è in vigore.                                                                                        | `not_attested` | Non attestato                                                          |
| `attestation_not_enabled`    | manuale              | Nessuno può attestare il controllo.                                                                                      | `not_attested` | Descrittivo                                                            |
| `descriptive`                | solo informativo     | Il controllo viene riportato, non classificato.                                                                          | `descriptive`  | Descrittivo                                                            |
| `not_applicable`             | qualsiasi            | Il controllo non si applica all’organizzazione.                                                                          | `descriptive`  | Descrittivo                                                            |
| `not_evaluated`              | qualsiasi            | Non è stato possibile leggere l’impostazione, o un’altra impostazione che determina se il controllo si applica.          | `descriptive`  | Descrittivo                                                            |

Nessun campo indica il tipo di controllo; per `failed`, un `current_value` `null` contraddistingue un controllo manuale. Possono essere aggiunti altri valori, quindi conta un controllo con uno `status` sconosciuto in base al suo `rating`, e non considerare Superato un `rating` sconosciuto. Lo stato `review` e lo stato dell’attestazione `review_due` non sono correlati.

## Stati dell’attestazione

`state` indica se l’attestazione che la risposta mostra è in vigore.

| `state`           | Significato                                                                                                                                                         |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `in_force`        | L’attestazione è in vigore.                                                                                                                                         |
| `review_due`      | È arrivata la data di fine.                                                                                                                                         |
| `setting_changed` | La verifica ha esito negativo su un valore diverso da quello il cui rischio è stato accettato, oppure il rischio accettato era già stato registrato come terminato. |
| `check_passing`   | La verifica ha esito positivo, quindi non c’è alcun rischio da accettare.                                                                                           |

Quando si applica più di un motivo, la risposta indica il primo tra `check_passing`, `setting_changed` e `review_due`. A partire dalle 00:00 UTC della sua data di fine, un’attestazione non è in vigore. La risposta non riporta alcuna data di fine, quindi decide `state`; una data di fine che è stata salvata è il [`review_date`](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/events-reference#attestation-activity) dell’attività di attestazione. Considera uno `state` sconosciuto come non in vigore.

## Come appare un’attestazione nella risposta

La risposta mostra alcune attestazioni e ne omette altre, quindi un `attestation` `null` non dimostra che nessuno abbia attestato.

| Tipo di controllo                                | Attestato come                           | `status`                                                                         | `rating`                | `attestation`                                                    |
| ------------------------------------------------ | ---------------------------------------- | -------------------------------------------------------------------------------- | ----------------------- | ---------------------------------------------------------------- |
| Manuale                                          | Nessuna attestazione                     | `not_attested`, oppure `attestation_not_enabled` laddove nessuno possa attestare | `not_attested`          | `null`                                                           |
| Manuale                                          | Completato                               | `attested_completed`                                                             | `passed`                | Mostrata                                                         |
| Manuale                                          | Rischio accettato                        | `attested_accepted_risk`                                                         | `passed`                | Mostrata                                                         |
| Manuale                                          | Non superato (`control_failed`)          | `failed`                                                                         | `failed`                | `null`: mai mostrata                                             |
| Automatico, verifica con esito negativo          | Nessuna attestazione                     | `failed` o `review`                                                              | `failed`                | `null`                                                           |
| Automatico, verifica con esito negativo          | Rischio accettato                        | `failed_check_accepted_risk`                                                     | `passed`                | Mostrata                                                         |
| Automatico, verifica con esito negativo          | Completato                               | `failed`, anche dove la verifica automatica dà `review`                          | `failed`                | `null`: mai mostrata                                             |
| Automatico, verifica con esito negativo          | Non superato                             | Lo `status` che dà la verifica automatica                                        | `failed`                | `null`: mai mostrata                                             |
| Automatico, verifica con esito positivo          | Nessuna attestazione                     | `passed`, `matches_profile` o `exceeds_baseline`                                 | `passed`                | `null`                                                           |
| Automatico, verifica con esito positivo          | Completato                               | Lo `status` che dà la verifica automatica                                        | `passed`                | `null`: mai mostrata                                             |
| Automatico, verifica con esito positivo          | Rischio accettato                        | Lo `status` che dà la verifica automatica                                        | `passed`                | `null` finché la verifica ha esito positivo sul valore accettato |
| Automatico, verifica con esito positivo          | Non superato                             | `failed`                                                                         | `failed`                | `null`: mai mostrata                                             |
| Solo informativo                                 | Qualsiasi valore                         | `descriptive`                                                                    | `descriptive`           | `null`: mai mostrata                                             |
| Qualsiasi, mentre l’attestazione non è in vigore | Un valore che una riga precedente mostra | Come senza attestazione                                                          | Come senza attestazione | Mostrata, con uno `state` diverso da `in_force`                  |
| Qualsiasi, mentre l’attestazione non è in vigore | Un valore che una riga precedente omette | Come senza attestazione                                                          | Come senza attestazione | `null`                                                           |

Ogni riga tranne le ultime due vale finché l’attestazione è in vigore. Su un controllo automatico, un’attestazione non è in vigore finché il valore letto dalla verifica differisce da quello su cui è stata salvata. Ogni attestazione che la risposta mostra su un controllo automatico è un rischio accettato. Anche l’[Activity Feed](https://platform.claude.com/docs/it/manage-claude/compliance-activity-feed) registra le attestazioni dei tipi che la risposta omette.

## Contare i risultati

Verifica quattro aspetti quando conti i controlli per `rating`.

| Se conti                    | Verifica anche                                                                                                                                                                                                   |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Superato (`passed`)         | Include ogni controllo con un rischio accettato in vigore, quindi cerca `failed_check_accepted_risk` e `attested_accepted_risk`.                                                                                 |
| Non superato (`failed`)     | Include un controllo attestato come Non superato (`control_failed`), e una verifica automatica con esito negativo con un’attestazione Completato in vigore, che la pagina Security posture mostra come Superato. |
| Descrittivo (`descriptive`) | Può nascondere un controllo che non è stato possibile leggere, quindi cerca `not_evaluated`.                                                                                                                     |
| Tutti i controlli           | Un controllo mancante dalla risposta non è considerato Superato e non viene nominato, quindi confronta i valori `id` con quelli che hai visto per l’organizzazione.                                              |

## Chi ha attestato e i commenti

`attested_by` viene compilato solo per una chiave che dispone di `read:compliance_user_data` insieme a `read:compliance_org_data`, oppure di `read:org_audit`. Una chiave con solo `read:compliance_user_data` riceve un 403. Lo `user_id` in `attested_by` è lo stesso dello `user_id` dell’`actor` nell’attività di attestazione. `attested_by` contiene solo l’ID utente: [Elencare gli utenti dell’organizzazione](https://platform.claude.com/docs/it/manage-claude/compliance-org-data#list-organization-users) fornisce il nome e l’indirizzo email di ogni membro attuale. Prima di aggiungere questi scope, consulta [Chi può vedere chi ha attestato](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/overview#who-can-see-who-attested).

L’endpoint non restituisce commenti, anche quando la pagina Security posture ne mostra uno: ogni `comment` è `null`, e `comments_status` è `not_enabled` o `not_permitted`. Quindi `not_enabled` e un commento `null` non significano che l’attestazione non abbia un commento. `comments_status` indica come interpretare un commento `null`, e lo schema definisce questi valori.

| `comments_status`           | Significato                                                                                                                                                            |
| --------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `not_permitted`             | La chiave API non dispone né di `read:compliance_user_data` né di `read:org_audit`, quindi ogni `comment` e ogni `attested_by` è `null`.                               |
| `requires_organization_key` | La chiave API non è stata creata nell’organizzazione, come nel caso di una chiave per l’organizzazione padre, quindi ogni `comment` è `null`. Riprovare non serve.     |
| `available`                 | I commenti sono stati letti, quindi un commento `null` significa che non ce n’è uno, o che è stato salvato pochi istanti fa.                                           |
| `not_enabled`               | Questo endpoint non restituisce commenti per l’organizzazione, quindi ogni `comment` è `null`.                                                                         |
| `unavailable`               | Non è stato possibile leggere i commenti per questa risposta; una richiesta successiva potrebbe riuscire, ma alcune cause persistono finché il cliente non interviene. |

Possono essere aggiunti altri valori; considera un valore sconosciuto come `unavailable`.

## Errori

Gli errori usano lo stesso corpo del resto della [Compliance API](https://platform.claude.com/docs/it/manage-claude/compliance-errors); questa tabella elenca quelli che questo endpoint restituisce in modo specifico.

| Stato ed `error.type`                                                                     | Quando                                                                                                                                              | Cosa fare                                                                                                                                                       |
| ----------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400 `invalid_request_error`                                                               | `anthropic-version` è mancante o non valido, la Compliance API non è abilitata per l’organizzazione padre, oppure è presente un parametro di query. | Correggi ciò che indica `error.message`.                                                                                                                        |
| 401 `authentication_error`                                                                | La chiave è mancante, non riconosciuta, oppure non è una Compliance Access Key o una chiave Admin API.                                              | Invia una Compliance Access Key valida in `x-api-key`.                                                                                                          |
| 403 `permission_error`                                                                    | La chiave non può chiamare questo endpoint, di solito perché non dispone né di `read:compliance_org_data` né di `read:org_audit`.                   | Usa una chiave con uno dei due scope.                                                                                                                           |
| 404 `not_found_error`                                                                     | Consulta le cause elencate dopo questa tabella.                                                                                                     | Non riprovare immediatamente, e non interpretarlo mai come assenza di controlli non superati.                                                                   |
| 429 `rate_limit_error`                                                                    | Il limite di velocità condiviso della Compliance API, o il limite più basso di questo endpoint, è esaurito; `error.message` indica quale.           | Attendi `retry-after`; consulta [429 Too Many Requests](https://platform.claude.com/docs/it/manage-claude/compliance-errors#429-too-many-requests).             |
| 503 `overloaded_error`, con `error.details.error_code` pari a `posture_evaluation_failed` | Non è stato possibile produrre il risultato.                                                                                                        | Attendi `retry-after`, poi riprova; se si ripresenta per una singola organizzazione nelle esecuzioni successive, contatta il supporto Anthropic una sola volta. |
| 503 senza `error_code`, oppure 504 `timeout_error`                                        | Un errore temporaneo.                                                                                                                               | Riprova con backoff esponenziale.                                                                                                                               |

Cause di un 404:

* `organization_id` non è un UUID, non indica alcuna organizzazione, oppure indica un’organizzazione eliminata.
* `organization_id` indica l’organizzazione padre, un’organizzazione sotto un’altra organizzazione padre, oppure un’organizzazione che una chiave per una singola organizzazione non copre.
* L’organizzazione non è su Claude Enterprise, oppure Security posture non è disponibile per essa, come nel caso di un’organizzazione Claude Console.
* La pagina Security posture è stata disattivata per l’organizzazione (vedi [Disponibilità di Security posture](https://platform.claude.com/docs/it/manage-claude/compliance-security-posture/overview#availability)).
* Security posture è disponibile per l’organizzazione, ma l’endpoint non la serve.
* Non è stato possibile verificare la disponibilità; una richiesta successiva può riuscire.

Ogni 404 ha lo stesso corpo, così come un percorso che non esiste.

## Aggiornamento dei dati ed effetti collaterali

L’endpoint valuta ogni controllo quando lo chiami, e `evaluated_at` è quel momento.

* Una modifica degli ultimi minuti potrebbe non comparire.
* Un risultato può cambiare senza che sia cambiata alcuna impostazione, ad esempio quando arriva una data di fine o Anthropic modifica un valore consigliato.
* Se Anthropic riformula un valore attuale, un rischio accettato su di esso non è più in vigore.
* Una chiamata non archivia alcun risultato e non fa terminare alcuna attestazione.
* Ogni richiesta che supera le verifiche di chiave, scope e versione senza un parametro di query registra un’attività `compliance_api_accessed`, sia che riesca sia che fallisca; il suo `url` indica l’organizzazione letta, e `organization_uuid` è `null` per una chiave per l’organizzazione padre.
