> This page is for Платформа, version Предыдущая версия.
> For other versions, use one of these documentation indexes:
> - V4 (default): https://next.developer.frame.io/platform/v4/llms.txt
> - Версия 4 экспериментальная: https://next.developer.frame.io/platform/v4-experimental/llms.txt
> - Предыдущая версия: 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.

# Работа с журналами аудита

## Обзор

Frame.io поддерживает и ведет журналы аудита для подавляющего большинства действий, выполняемых в его приложениях. Включены как основные операции CRUD с базовыми ресурсами, так и некоторые специальные абстракции (например, `AssetVersioned`).
<Warning title="Журналы аудита усекаются через 30 дней.">
  


Журналы аудита Frame.io доступны через API-интерфейс в течение 30 дней, после чего они перемещаются в холодное хранилище. Поэтому, если вы хотите сохранить длительную историю событий Frame.io, убедитесь, что вы храните исторические данные журналов по-отдельности.



</Warning>


### Область доступа и разрешения

Доступ к журналам аудита учетной записи имеют только администраторы учетной записи, и все вызовы к конечной точке журналов аудита должны быть ограничены `account_id` следующим образом:

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





### Ответы





Все ответы журналов аудита имеют похожий формат:





```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="Не забудьте о разбивке на страницы!">
  Данные ответов журналов аудита могут быть довольно подробными, поэтому убедитесь, что вы знаете, как выполнять [разбивку на страницы](/getting-started/key-concepts#pagination)!
</Info>


## Фильтры

Журналы аудита поддерживают различные фильтры, включая диапазоны дат. В отличие от конечных точек [поиска](/workflows-assets/search-for-assets) Frame.io, фильтры можно отправить только в виде параметров строки запроса `GET`.

Все фильтры следуют одинаковому форматированию:





### GET + строка запроса





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




<Info title="Одно значение на тип фильтра">
  В настоящее время журналы аудита поддерживают одно значение на тип фильтра. Если вы предоставите два фильтра одного типа (например, `filter[action]=ActionOne&amp;filter[action]=ActionTwo`), второй фильтр будет иметь приоритет.
</Info>


### Ключевые типы фильтров





Ключевые типы фильтров для отбора и навигации по журналам аудита:




| Тип фильтра | Описание | Примеры значений |
| ------------- | ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- |
| `item_type` | Фильтры для всех ресурсов одного типа. | _Presentation_, _Comment_, _ReviewLink_, _Asset_ |
| `item_id` | Фильтры для одного конкретного ресурса, например ресурса или презентации. | _\<asset-id>_, _\<presentation-id>_ |
| `action` | Фильтры для одного действия, обычно связанного с `item_type` | _ProjectCreated_, _AssetVersioned_, _CommentDeleted_ |
| `actor_id` | Фильтры для идентификатора конкретного пользователя (действующего пользователя). | _\<user-id>_ |
| `team_id` | Фильтры для действий, связанных с одной командой. Этот фильтр полезен только для команд, в которых есть несколько команд. | _\<team-id>_ |
| `inserted_at` | Фильтры для событий аудита, происходящих до или после определенной даты и времени. Должно быть в формате ISO-8601, UTC. | _2022-08-25T00:00:00Z_ |




### Типы элементов и действия




| Ресурс | Действия |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Учетная запись** | `AccountCreated`, `AccountUpdate`, `AccountLocked` |
| **Ресурс** | `AssetCopied`, `AssetCreated`, `AssetDeleted`, `AssetUpdated`, `AssetVersioned`, `AssetUnversioned`, `AssetLabelUpdated`, `AssetMoved`, `AssetPreserved`, `AssetPrivatized`, `AssetPublicized`, `AssetRestored` |
| **Соавтор** | `CollaboratorCreated`, `CollaboratorDeleted` |
| **Комментарий** | `CommentCreated`, `CommentCompleted`, `CommentDeleted`, `CommentLiked`, `CommentUncompleted`, `CommentUnliked`, `CommentUpdated`, `ReplyCreated` |
| **Презентация** | `PresentationCreated`, `PresentationDeleted`, `PresentationUpdated` |
| **Проект** | `ProjectCreated`, `ProjectDeleted`, `ProjectMoved`, `ProjectRestored`, `ProjectUpdated` |
| ReviewLink | `ReviewLinkCreated`, `ReviewLinkDeleted`, `ReviewLinkUpdated` |
| **Команда** | `TeamCreated`, `TeamUpdated`, `TeamDeleted` |
| **TeamMember** | `TeamMemberCreated`, `TeamMemberAccepted`, `TeamMemberDeclined`, `TeamMemberRemoved`, `TeamMemberUpdated` |




## Примеры фильтров





Все фильтры имеют похожий формат, как описано выше. Ниже приведено несколько примеров для конкретных случаев использования, которые помогут вам начать работу.




| Сценарий | Строка запроса |
| ---------------------------------------- | ----------------------------------------------------------- |
| Действия, выполненные одним пользователем. | `?filter[actor_id]=<user-id>` |
| Все действия по конкретной презентации. | `?filter[item_id]=<presentation-id>` |
| Комментарии, оставленные пользователем. | `?filter[action]=CommentCreated&amp;filter[actor_id]=<user-id>` |
| Все действия со ссылкой для рецензирования в команде. | `?filter[item_type]=ReviewLink&amp;filter[team_id]=<team-id>` |




## Диапазоны дат

Диапазоны дат — это особый случай, поскольку необходимо указать как `значение` даты и времени `inserted_at`, так и `операцию`, применяемую к этой дате и времени. Соответственно, запросы диапазона дат всегда будут иметь два элемента фильтра, каждый из которых будет вложен рядом с параметром `[inserted_at]`.

Поддерживаемые операции включают:




* **gt** — более чем
* **gte** — более чем или равно
* **lt** — менее чем
* **lte** — менее чем или равно




### Примеры диапазонов дат




| Сценарий | Строка запроса |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
| Все записи журнала аудита с определенной даты. | `?filter[inserted_at][op]=gt&amp;filter[inserted_at][value]=2019-03-25T00:00:00Z` |
| Все ресурсы, добавленные конкретным пользователем до определенной даты. | `?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` |