> This page is for Piattaforma, version Versione precedente.
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - V4 sperimentale: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Versione precedente: https://next.developer.frame.io/platform/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://next.developer.frame.io/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://next.developer.frame.io/_mcp/server.

# Utilizzo dei registri di controllo

## Panoramica

Frame.io supporta e gestisce registri di controllo per la stragrande maggioranza delle attività svolte nelle sue applicazioni. Ciò include sia le operazioni CRUD di base sulle risorse principali sia alcune astrazioni speciali (ad es. `AssetVersioned`).
<Warning title="I registri di controllo vengono troncati dopo 30 giorni">
  


I registri di controllo di Frame.io sono disponibili tramite API per un periodo di 30 giorni, dopodiché vengono spostati nell'archiviazione a freddo. Pertanto, se desideri mantenere una cronologia a lungo termine degli eventi di Frame.io, assicurati di archiviare dati di registro cronologici in modo indipendente.



</Warning>


### Ambito e autorizzazioni

Solo gli amministratori dell'account possono accedere ai registri di controllo per un account e tutte le chiamate all'endpoint dei registri di controllo devono essere limitate a un `account_id` come segue:

```
GET https://api.frame.io/v2/accounts/:id/audit_logs
```





### Risposte





Tutte le risposte del registro di controllo hanno un formato simile:





```json
{
    "_type": "audit",
    "account_id": "<account-id>",
    "action": "<ActionTaken>",
    "actor": {
        "_type": "user",
        "id": "<user-id>",
    },
    "actor_id": "<user-id>",
    "id": "<audit-id>",
    "inserted_at": "<ISO-8601-datetime>",
    "item_id": "<resource-id>",
    "item_type": "<ResourceType>",
    "resource": {...},
    "team_id": "<team-id>",
    "updated_at": "<ISO-8601-datetime>"
}
```




<Info title="Non dimenticare la paginazione!">
  I dati delle risposte del registro di controllo possono essere piuttosto prolissi, quindi assicurati di avere familiarità con la [paginazione](/getting-started/key-concepts#pagination)!
</Info>


## Filtri

I registri di controllo supportano vari filtri, inclusi gli intervalli di date. A differenza degli endpoint di [ricerca](/workflows-assets/search-for-assets) di Frame.io, i filtri possono essere inviati solo come parametri della stringa di richiesta `GET`.

Tutti i filtri seguono la stessa formattazione:





### GET + stringa di richiesta





```html
GET
https://api.frame.io/accounts/:id/audit_logs?filter[filter_type1]=value1&filter[filter_type2]=value2
```




<Info title="Un solo valore per tipo di filtro">
  Attualmente, i registri di controllo supportano un solo valore per tipo di filtro. Se fornisci due filtri dello stesso tipo (ad es. `filter[action]=ActionOne&amp;filter[action]=ActionTwo`), il secondo filtro avrà la precedenza.
</Info>


### Tipi di filtro principali





I tipi di filtro principali per selezionare e navigare i registri di controllo sono:




| Tipo di filtro | Descrizione | Valori di esempio |
| ------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `item_type` | Filtri per tutte le risorse di un singolo tipo. | _Presentation_, _Comment_, _ReviewLink_, _Asset_ |
| `item_id` | Filtri per una singola risorsa specifica, ad esempio una risorsa o una presentazione. | _\<asset-id>_, _\<presentation-id>_ |
| `action` | Filtri per una singola azione, di solito associata a un `item_type` | _ProjectCreated_, _AssetVersioned_, _CommentDeleted_ |
| `actor_id` | Filtri per l'ID di un utente specifico (attore). | _\<user-id>_ |
| `id_team` | Filtri per le attività associate a un singolo team. Questo filtro è utile solo sui team che hanno più team. | _\<team-id>_ |
| `inserted_at` | Filtri per eventi di audit che si verificano prima o dopo una data e ora specifiche. Deve essere in formato ISO-8601, UTC. | _2022-08-25T00:00:00Z_ |




### Tipi di elementi e azioni




| Risorsa | Azioni |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Account** | `AccountCreated`, `AccountUpdate`, `AccountLocked` |
| **Risorsa** | `AssetCopied`, `AssetCreated`, `AssetDeleted`, `AssetUpdated`, `AssetVersioned`, `AssetUnversioned`, `AssetLabelUpdated`, `AssetMoved`, `AssetPreserved`, `AssetPrivatized`, `AssetPublicized`, `AssetRestored` |
| **Collaboratore** | `CollaboratorCreated`, `CollaboratorDeleted` |
| **Commento** | `CommentCreated`, `CommentCompleted`, `CommentDeleted`, `CommentLiked`, `CommentUncompleted`, `CommentUnliked`, `CommentUpdated`, `ReplyCreated` |
| **Presentazione** | `PresentationCreated`, `PresentationDeleted`, `PresentationUpdated` |
| **Progetto** | `ProjectCreated`, `ProjectDeleted`, `ProjectMoved`, `ProjectRestored`, `ProjectUpdated` |
| Link di revisione | `ReviewLinkCreated`, `ReviewLinkDeleted`, `ReviewLinkUpdated` |
| **Team** | `TeamCreated`, `TeamUpdated`, `TeamDeleted` |
| **Membro del team** | `TeamMemberCreated`, `TeamMemberAccepted`, `TeamMemberDeclined`, `TeamMemberRemoved`, `TeamMemberUpdated` |




## Esempi di filtro





Tutti i filtri seguono un formato simile, come illustrato sopra. Di seguito trovi alcuni esempi per casi d'uso specifici che possono aiutarti a iniziare.




| Scenario | Stringa di query |
| ---------------------------------------- | ----------------------------------------------------------- |
| Azioni eseguite da un singolo utente. | `?filter[actor_id]=<user-id>` |
| Tutte le attività su una presentazione specifica. | `?filter[item_id]=<presentation-id>` |
| Commenti lasciati da un utente. | `?filter[action]=CommentCreated&amp;filter[actor_id]=<user-id>` |
| Tutte le attività del link di revisione in un team. | `?filter[item_type]=ReviewLink&amp;filter[team_id]=<team-id>` |




## Intervalli di date

Gli intervalli di date sono un caso leggermente speciale, in quanto è necessario specificare sia il valore `inserted_at` per la data e l'ora `` e l'`op`erazione d applicare alla data e ora. Di conseguenza, le query con intervallo di date avranno sempre due elementi di filtro, ognuno dei quali sarà a sua volta nidificato accanto a un parametro `[inserted_at]`.

Le operazioni supportate includono:




* **gt**: maggiore di
* **gte**: maggiore o uguale a
* **lt**: minore di
* **lte**: minore o uguale a




### Esempi di intervalli di date




| Scenario | Stringa di query |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Tutti i record del registro di controllo a partire da una data. | `?filter[inserted_at][op]=gt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z` |
| Tutte le risorse caricate da un utente specifico fino a una data. | `?filter[inserted_at][op]=lt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z&amp;filter[actor_id]=<user-id>&amp;filter[action]=AssetCreated` |