Download the PHP package mautic/api-library without Composer

On this page you can find all versions of the php package mautic/api-library. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.


After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package api-library


Using the Mautic API Library


Installing the API Library

You can install the API Library with the following command:

N.B. Make sure you have installed a PSR-18 HTTP Client before you install this package or install one at the same time e.g. composer require mautic/api-library guzzlehttp/guzzle:^7.3.

HTTP Client

We are decoupled from any HTTP messaging client with the help of PSR-18 HTTP Client. This requires an extra package providing psr/http-client-implementation. To use Guzzle 7, for example, simply require guzzlehttp/guzzle:

The installed HTTP Client is auto-discovered using php-http/discovery, but you can also provide your own HTTP Client if you like.

Mautic Setup

The API must be enabled in Mautic. Within Mautic, go to the Configuration page (located in the Settings menu) and under API Settings enable Mautic's API. If you intend to use Basic Authentication, ensure you enable it. You can also choose which OAuth protocol to use here. After saving the configuration, go to the API Credentials page (located in the Settings menu) and create a new client. Enter the callback/redirect URI that the request will be sent from. Click Apply, then copy the Client ID and Client Secret to the application that will be using the API.


Obtaining an access token

The first step is to obtain authorization. Mautic supports OAuth 1.0a and OAuth 2, however it is up to the administrator to decide which is enabled. Thus it is best to have a configuration option within your project for the administrator to choose what method should be used by your code.

Using Basic Authentication Instead

Instead of messing around with OAuth, you may simply elect to use BasicAuth instead.

Here is the BasicAuth version of the code above.

Note: If the credentials are incorrect an error response will be returned.

API Requests

Now that you have an access token and the auth object, you can make API requests. The API is broken down into contexts.

Get a context object

Supported contexts are currently:

See the developer documentation.

Retrieving items

All of the above contexts support the following functions for retrieving items:

Creating an item

Editing an item

Deleting an item

Error handling


Setting up your environment (automatically)

In order to get started quickly, we recommend that you use DDEV which sets things up automatically for you. It clones, sets up a local instance for you, and connects the API library tests to that instance.

To get started, run ddev start! Our first-run experience will guide you through the setup.

Setting up your environment (manually)

If you want to set up your local environment manually, ensure that you copy /tests/local.config.php.dist to /tests/local.config.php, and fill in the required settings. We recommend using the Basic Authentication method to get up and running quickly.

Unit tests

Configure the unit tests config before running the unit tests. The tests fire real API requests to a Mautic instance.

  1. Ensure you have set up your local environment using the steps above.
  2. Run composer test to run the tests.

Modify this command to run a specific test: composer test -- --filter testCreateGetAndDelete tests/Api/NotesTest.php

Modify this command to run all tests in one class: composer test -- --filter test tests/Api/NotesTest.php

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Zdeno Kuzmany
Zdeno Kuzmany



Martina  Scholz
Martina Scholz

John Linhart
John Linhart

Marinus van Velzen
Marinus van Velzen

Pierre Ammeloot
Pierre Ammeloot


This project follows the all-contributors specification. Contributions of any kind welcome!

All versions of api-library with dependencies

PHP Build Version
Package Version
Requires php Version >=7.2.0
ext-curl Version *
ext-json Version *
psr/log Version ~1.0 || ~2.0 || ~3.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package mautic/api-library contains the following files

Loading the files please wait ....