Akaunting provides a RESTful API to create, read, update and delete (CRUD) all entities of Akaunting.

The API of Akaunting is built on top of the Dingo API package for Laravel. It provides amazing tools such as Content Negotiation, API Versioning, Rate Limiting, Response Transformers, Internal Requests, and a lot more.


The HTTP Basic authentication is used by the Akaunting API. Any user that has read-api permission may access the API using their email and password. By default, Akaunting gives read-api permission to admin role.

Permissions for CRUD actions are based on default ACL.


The API endpoints/routes of Akaunting are located in the following file:


You may also add API endpoints to your module:


 use Illuminate\Support\Facades\Route;

 * 'api' middleware and 'api/my-blog' prefix applied to all routes (including names)
 * @see \App\Providers\Route::register

 Route::api('my-blog', function ($api) {
     $api->get('posts/{post}/enable', '[email protected]')->name('.posts.enable');
     $api->get('posts/{post}/disable', '[email protected]')->name('.posts.disable');
     $api->resource('posts', 'Posts');
     $api->resource('comments', 'Comments');

Check out the My Blog module as an example and the documentation of Dingo API for further details on API endpoints.


Transformers allow you to easily and consistently transform objects into an array. You can find the transformers of Akaunting in the following directory:

Scroll to top