# Pootle API

Changed in version 2.5.1.

Pootle provides a REST API for interacting with it using external tools, allowing those to retrieve data, for example translation stats, or save data to Pootle, e.g. translations. This reference document is written for those interested in:

- Developing software to use this API
- Integrating existing software with this API
- Exploring API features in detail

## Enabling the Pootle API

Pootle API is disabled by default. To enable it just install `django-tastypie` and put the following line on your custom settings:

    POOTLE_ENABLE_API = True

Warning

If you are running Pootle using Apache with `mod_wsgi` you will need to enable `WSGIPassAuthorization On` as told in Tastypie authentication docs.

## Pootle API usage

In order to interact with Pootle API it is necessary to know how to use it and some of its particularities.

- Using Pootle API

## Available resources

The Pootle API exposes a number of resources. Next you have a complete list of them with data about the accepted HTTP methods, result limits, authentication requirements or other constraints.

Note

You might want to look at the Glossary to fully understand the resource names used in the API.

- Language resources
  - List languages
  - List languages matching a criteria
  - Create a language
  - Get a language
  - Change a language
  - Delete a language
  - Get statistics for a language
- Project resources
  - List projects
  - Create a project
  - Get a project
  - Change a project
  - Delete a project
  - Get statistics for a project
- Store resources
  - List stores in a translation project
  - Get a store
  - Get statistics for a store
- Suggestion resources
  - List suggestions for a unit
  - Create a suggestion
  - Get a suggestion
  - Change a suggestion
  - Delete a suggestion
- Translation project resources
  - List translation projects in a project
  - List translation projects in a language
  - Create a translation project
  - Get a translation project
  - Change a translation project
  - Delete a translation project
  - Get statistics for a translation project
- Unit resources
  - List units in a store
  - List units matching a criteria
  - Get a unit
  - Change a unit
- User resources
  - List users matching a criteria
  - Create a user
  - Get a user
  - Change a user
  - Delete a user
  - Get statistics for a user