# # Revisions

> Revisions are individual changes to items made. Gitaflow keeps track of changes made, so you're able to revert to a previous state at will. Learn more about Revisions.

- The Revision Object
- List revisions
- Retrieve a revision

## # The Revision Object

`id` integer
Primary key of the revision.

`activity` many-to-one
Related activity record. Many-to-one to 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).

    {
    	"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 Gitaflow.

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.

### # Returns

An array of up to limit revision objects. If no items are available, data will be an empty array.

### # REST API

    GET /revisions
    SEARCH /revisions

Learn more about SEARCH ->

### # GraphQL

    POST /graphql/system

    type Query {
    	revisions: [gitaflow_revisions]
    }

##### # Examples

    query {
    	revisions {
    		id
    		data
    		delta
    	}
    }

## # Retrieve a revision

List an existing revision by primary key.

### # Query Parameters

Supports all global query parameters.

### # Returns

Returns the requested revision object.

### # REST API

    GET /revisions/:id

##### # Example

    GET /revisions/322

### # GraphQL

    POST /graphql/system

    type Query {
    	revisions_by_id(id: ID!): gitaflow_revisions
    }

##### # Example

    query {
    	revisions_by_id(id: 322) {
    		id
    		data
    		delta
    	}
    }