Keila Full API Octri Preview

Start here

Keila full API preview

Unofficial Octri preview. This reference covers all 38 operations in Keila's public API v1 OpenAPI document, including contacts, forms, campaigns, and segments. No live subscriber import or campaign send was tested.

Generated PHP client

Download generated PHP SDK. Unzip and run composer install in the package directory. ZIP is downloadable; package is not published to Packagist.

Create a Keila API token with appropriate account access and keep it outside source control. The default API host is https://app.keila.io.

php
<?php
require __DIR__ . '/vendor/autoload.php';

use keila_full_api_octri_preview_sdk\ClientAuthConfig;
use keila_full_api_octri_preview_sdk\ClientConfig;
use keila_full_api_octri_preview_sdk\KeilaAPIUnofficialOctriFullPreview;
use keila_full_api_octri_preview_sdk\KeilaWebApiContactControllerIndexPaginate;

$auth = new ClientAuthConfig();
$auth->authorization = getenv('KEILA_API_TOKEN') ?: throw new RuntimeException('Token required');
$config = new ClientConfig();
$config->baseUrl = 'https://app.keila.io';
$config->auth = $auth;
$client = new KeilaAPIUnofficialOctriFullPreview($config);
$contacts = $client->contacts->keilaWebApiControllerIndex(
  new KeilaWebApiContactControllerIndexPaginate(page: 1, pageSize: 20)
);
var_dump($contacts->data);

Tested scope and limitation

Downloaded PHP package installed with Composer. Four synthetic local HTTP requests passed for bearer auth, deepObject pagination, nested data/meta envelopes, custom contact fields, mock-only create, and typed 401. No live Keila call, real contact, subscriber import, campaign send, or transactional send was made.

Known generated-client defect: an optional empty object in custom contact data serializes as JSON array [] rather than object {}. Do not rely on empty custom-object writes from this PHP build. Non-empty custom fields passed local mock checks; generator source fix and regenerated artifact remain pending.