> 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
> - V4 실험적: 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 감사 로그는 30일의 롤링 기간 동안 API를 통해 사용할 수 있으며, 그 이후에는 콜드 스토리지로 이동됩니다. 따라서 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>


## 필터

감사 로그는 날짜 범위를 비롯한 다양한 필터를 지원합니다. Frame.io의 [Search](/workflows-assets/search-for-assets) 엔드포인트와 달리 필터는 `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` | 단일 Action에 대한 필터이며, 일반적으로 `item_type`과 연결됨 | _ProjectCreated_, _AssetVersioned_, _CommentDeleted_ |
| `actor_id` | 특정 사용자(액터)의 ID에 대한 필터. | _\<user-id>_ |
| `team_id` | 단일 팀과 관련된 활동에 대한 필터. 이 필터는 여러 팀이 속해 있는 조직에서만 유용합니다. | _\<team-id>_ |
| `inserted_at` | 특정 날짜/시간의 이전 또는 이후에 발생하는 감사 이벤트를 필터링합니다. 반드시 ISO-8601 형식(UTC)이어야 합니다. | _2022-08-25T00:00:00Z_ |




### 항목 유형 및 작업




| 리소스 | 작업 |
| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **계정** | `AccountCreated`, `AccountUpdate`, `AccountLocked` |
| **Asset** | `AssetCopied`, `AssetCreated`, `AssetDeleted`, `AssetUpdated`, `AssetVersioned`, `AssetUnversioned`, `AssetLabelUpdated`, `AssetMoved`, `AssetPreserved`, `AssetPrivatized`, `AssetPublicized`, `AssetRestored` |
| **공동 작업자** | `CollaboratorCreated`, `CollaboratorDeleted` |
| **Comment** | `CommentCreated`, `CommentCompleted`, `CommentDeleted`, `CommentLiked`, `CommentUncompleted`, `CommentUnliked`, `CommentUpdated`, `ReplyCreated` |
| **Presentation** | `PresentationCreated`, `PresentationDeleted`, `PresentationUpdated` |
| **Project** | `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` datetime `value` 및 해당 datetime에 적용할 `op`를 모두 지정해야 한다는 점에서 약간 특수한 경우입니다. 따라서 날짜 범위 쿼리에는 항상 두 개의 필터 요소가 있으며, 각 필터 요소는 `[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` |