canonical: https://jentic.com/apis/agillic.net/agillic-api

# Agillic API

Jentic publishes the only available OpenAPI specification for the agillic.net surface of Agillic API, keeping it validated and agent-ready. This is the bearer-only slice of the Agillic marketing automation platform, exposing 37 endpoints for managing recipients, one-to-many tables, global data, app push registration, target groups, flow execution, asset uploads, and asynchronous data exports. It is intended for integrations that need a focused subset of the platform without OAuth2 setup, while still authenticating against the same EU1 host.

## For AI agents

Manage Agillic recipients, run flows, write events, and segment audiences using a bearer-token API surface focused on day-to-day automation tasks.

## Scope

Does not handle OAuth2 token exchange, async batch upsert, or promotion evaluation - use the agillic.com surface for those operations.

## Capabilities

- Create and update recipients with profile fields and consent state
- Read and modify per-recipient one-to-many tables for purchase or preference data
- Achieve events on recipients to trigger configured flows
- Execute named flows directly to deliver transactional or campaign messages
- Manage app push device registration, consent, and unregistration
- Run asynchronous exports of recipients, events, and segment data
- Discover the schema of person, global, and one-to-many data tables

## Use cases

### Targeted Recipient Updates

Engineering teams write a small set of consent and preference changes back to Agillic from their own data systems. PUT /recipients/{recipientId} performs an update-or-create with the supplied attributes, so a single call handles both new and existing records. Combined with the discovery endpoints, an integration can self-validate the field schema before writing.

Example prompt: PUT /recipients/{recipientId} with marketing_consent=true and updated address fields

### Triggering Transactional Flows

Agillic flows can be invoked directly through POST /flows/{flowName}/:execute, suitable for transactional sends like order confirmations and password resets that should not wait for a scheduled segment. Pair the flow execution call with a recipient lookup so the flow runs against the correct profile.

Example prompt: POST /flows/order_confirmation/:execute with the recipient ID and order context

### Mobile Push Lifecycle Management

Mobile apps register and deregister devices through the /apps endpoints, while consent toggles ensure users only receive push when they have opted in. The PUT/DELETE structure on /apps/consent/{identifier} makes it easy for a client SDK or backend job to mirror in-app consent state into Agillic.

Example prompt: PUT /apps/register/{identifier} with the device token, then PUT /apps/consent/{identifier} when consent is granted

### AI Agent Marketing Tasks via Jentic

An agent can use Jentic to run common Agillic operations - execute a flow, achieve an event, or refresh a recipient - without parsing the spec or storing the bearer token. Jentic injects credentials from the vault and returns the operation's input schema, so the agent assembles a valid request from natural-language input.

Example prompt: Use Jentic to search 'execute an Agillic flow', load the schema, and trigger the welcome flow for a new recipient

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /recipients | Create a new recipient |
| PUT | /recipients/{recipientId} | Update or create a recipient |
| POST | /recipients/{recipientId}/events/{eventId}/:achieveEvent | Achieve an event for a recipient |
| POST | /flows/{flowName}/:execute | Execute a named flow |
| PUT | /apps/register/{identifier} | Register a device for push |
| PUT | /apps/consent/{identifier} | Grant push notification consent |
| GET | /discovery/persondata | Discover person data fields |
| GET | /globaldata/tables/{tableName} | Get records from a global data table |

## Key resources

- **Recipients** — Recipient profiles with create, upsert, and per-recipient subresources
- **One-to-Many** — Per-recipient relational tables for history and preferences
- **Events** — Event achievement to trigger configured flows
- **Flows** — Named flows that can be executed on demand
- **Global Data** — Account-wide reference tables and lookup values
- **Discovery** — Schema introspection for person and table data
- **App Push** — Device registration and consent for push notifications
- **Target Groups** — Segmentation lists with bulk membership operations
- **Export** — Asynchronous exports of marketing data
- **Assets** — Uploaded creative and template assets

## Why Jentic

- **Setup:** Wiring the Agillic API by hand means managing its bearer auth against the EU host and coding calls across recipients, flows, and app registration. Through Jentic you install once, import the Agillic API from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** Agillic puts the recipient id in the URL path for recipient operations (/recipients/{recipientId}/...) and the flow name for execution (/flows/{flowName}/:execute), so a rule can pin the agent to a specific recipient. You choose which operations it may call, such as reading person data, so flow execution or app registration is not included unless you add it.
- **Credential handling:** Your Agillic bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'execute an Agillic flow' or 'register a push device', and Jentic returns the matching operation with its input schema, including the path parameters and body shape, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Agillic API (agillic.com)** — Full Agillic surface with 81 endpoints including OAuth2 token, async batch upsert, and promotion evaluation
- **Klaviyo** — Ecommerce-focused marketing automation with profiles, lists, and flows
- **Braze** — Customer engagement platform with users, campaigns, and Canvas flows across channels
- **Customer.io** — Behavioural messaging platform with simple event-to-campaign flows
- **HubSpot** — CRM that often supplies the contact and consent data feeding Agillic recipients

## FAQ

### Why is there no official OpenAPI spec for Agillic API?

Agillic does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Agillic API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Agillic API on agillic.net use?

This surface uses an HTTP bearer token in the Authorization header on every request. Jentic stores the token in its vault and injects it at execution time, so the credential never appears in agent context.

### How do I execute a flow with the Agillic API?

Call POST /flows/{flowName}/:execute with the recipient ID and any context required by the flow. Useful for transactional sends like password resets where waiting for a scheduled segment would be too slow.

### Can I register a device for push notifications through this API?

Yes. Use PUT /apps/register/{identifier} with the device token, then PUT /apps/consent/{identifier} to record consent. To remove a device, use DELETE /apps/consent/{identifier} followed by PUT /apps/unregister/{identifier}.

### How do I update a recipient through Jentic?

Search Jentic for 'update an Agillic recipient'. Load the PUT /recipients/{recipientId} schema, populate the recipient ID and the fields to change, and execute. Jentic adds the bearer token before the call.

### What are the rate limits for the Agillic API on agillic.net?

The OpenAPI spec does not declare explicit per-second limits. For larger jobs, prefer the export endpoints under /export to retrieve data in bulk rather than enumerating recipients.

### Can I limit what my agent is allowed to do with the Agillic API?

Yes. Because you run Jentic One yourself, your own rules decide which Agillic operations and credentials the agent may use. You can allow a read-only operation like GET /discovery/persondata while excluding flow execution and device registration, so POST /flows/{flowName}/:execute and PUT /apps/register/{identifier} stay off limits unless you grant them. Since the recipient id sits in the path (/recipients/{recipientId}/...) and the flow name in /flows/{flowName}/:execute, you can also pin the agent to a specific recipient or flow rather than the whole surface.
