Loco SDK for PHP, including REST API client

2.0.12 2023-05-05 09:51 UTC



Installation is via Composer.

Add the latest stable version of loco/loco to your project's composer.json file as follows:

"require": {
  "loco/loco": "^2.0"


The SDK includes a REST client for the Loco API.

Client usage

The client is built on Guzzle. Basic usage is to construct with your API key and call the endpoint methods directly. The following example simply verifies your credentials:

$client = Loco\Http\ApiClient::factory(['key' => 'your_api_key']);
$result = $client->authVerify();
printf("Authenticated as '%s'\n", $result['user']['name']);

See the example directory for more.

Advanced options

Additionally the ApiClient::factory method can take any arguments accepted by Guzzle's client constructor. See Request Options and Handlers and Middleware for full details.

Command Line Client

A Console interface supporting all methods of the Loco API is at bin/console. Just run it to see all the available options.

The console reads from config.json, but you can override your API key from the command line. Run the following to verify your credentials:

bin/console loco:auth:verify -v -k <your_api_key> 


Breaking changes in v2.0

Updating from Guzzle 3 to Guzzle 6 brought some necessary breaking changes with it. If you're upgrading from 1.0.18, please note the following:

  • The structure of config.json has changed. Note in particular a single root object containing your values as per the example config.
  • The version number of the SDK is no longer synced to the version of the API. Each release will however be built against the latest version of the live service.