--- pageClass: page-reference --- # Revisions
> Revisions are individual changes to items made. Directus keeps track of changes made, so you're able to revert to a > previous state at will. [Learn more about Revisions](/concepts/revisions/).
[[toc]]
--- ## The Revision Object
`id` **integer**\ Primary key of the revision. `activity` **many-to-one**\ Related activity record. Many-to-one to [activity](/reference/api/system/activity/). `collection` **string**\ Collection in which this revision happened. `item` **string**\ Primary key of the item that was changed. `data` **object**\ Snapshot of the top-level item data. `delta` **object**\ Snapshot of the changes made in this revision. `parent` **many-to-one**\ Parent revision that triggered this revision. Many-to-one to revisions (recursive).
```json { "id": 368, "activity": 438, "collection": "articles", "item": "1", "data": { "title": "Hello World" }, "delta": { "title": "Hello from the Docs!" }, "parent": null } ```
--- ## List revisions List all revisions that exist in Directus.
::: tip Permissions The data returned in this endpoint will be filtered based on the user's permissions. For example, revisions that apply to a collection that the current user doesn't have access to are stripped out. ::: ### Query Parameters Supports all [global query parameters](/reference/api/query). ### Returns An array of up to [limit](/reference/api/query/#limit) [revision objects](#the-revision-object). If no items are available, data will be an empty array.
### REST API ``` GET /revisions SEARCH /revisions ``` [Learn more about SEARCH ->](/reference/api/introduction/#search-http-method) ### GraphQL ``` POST /graphql/system ``` ```graphql type Query { revisions: [directus_revisions] } ``` ##### Examples ```graphql query { revisions { id data delta } } ```
--- ## Retrieve a revision List an existing revision by primary key.
### Query Parameters Supports all [global query parameters](/reference/api/query). ### Returns Returns the requested [revision object](#the-revision-object).
### REST API ``` GET /revisions/:id ``` ##### Example ``` GET /revisions/322 ``` ### GraphQL ``` POST /graphql/system ``` ```graphql type Query { revisions_by_id(id: ID!): directus_revisions } ``` ##### Example ```graphql query { revisions_by_id(id: 322) { id data delta } } ```