Support

Documentation

APIv2 reference

The APIv2 is a simple JSON API.

You can access the API using the HTTP verbs GET or POST against the endpoint URL. It does not matter which verb you use; it's not a RESTful API.

Authentication

Authentication takes place by sending a secret to the endpoint. The secret is defined in the Secret word field of Akeeba Backup for Joomla!'s component Options page, or the System Configuration page of Akeeba Backup for WordPress and Akeeba Solo under the Front-end tab.

You can pass the authentication secret in two ways:

  • The HTTP header X-Akeeba-Auth, e.g. X-Akeeba-Auth: My$up3r5eCr3+KeY

  • As the GET or POST parameter _akeebaAuth, e.g. _akeebaAuth=My%24up3r5eCr3%2BKeY

Request data format

You specify the API method to call by sending the POST or GET parameter method, e.g. method=startBackup.

Please note when you use the HTTP GET verb to access the API the method parameter must be a GET parameter. Likewise, when using the HTTP POST verb, the method parameter must be a POST parameter as well.

Methods which accept data must be provided this data as GET or POST parameters. Again, if you use the GET HTTP verb you must send all data as GET (URL) parameters. If you use HTTP POST you need to send all of your data as POST parameters. When using POST you MUST use form encoding, NOT multipart encoding.

Return data format

You are returned a simple JSON object with the following format:

{
  'status': 200,
  'data': ...
}

The data key contains a JSON value or object as described in each method's documentation.

When an error occurs you receive a similar object, with a status that is not 200. For example:

{
  'status': 500,
  'data': "The Gremlins ate my dinner!"
}

The data key in this case contains a string that is the error message. The explanation of error codes can be found in the constants reference.