canonical: https://jentic.com/apis/aimtell.com/aimtell-main

# Aimtell API

Jentic publishes the only available OpenAPI specification for Aimtell API, keeping it validated and agent-ready. Aimtell is a browser push notification platform for re-engaging website visitors with targeted messages across desktop and mobile web. The API exposes 46 endpoints covering manual, RSS, event-triggered, and welcome campaigns, subscriber and segment management, multi-site analytics, tracking pixels, and notification logs. Authentication uses an X-Authorization API key header, and operations are scoped per website.

## For AI agents

Send web push notifications, build subscriber segments, and pull campaign analytics for Aimtell-managed websites.

## Scope

Does not handle email, SMS, or mobile app push notifications - use for browser-based web push messaging only.

## Capabilities

- Send one-off browser push notifications to filtered subscriber segments via the /push endpoint
- Create manual, RSS, and event-triggered push campaigns scoped to specific websites
- Build and update subscriber segments using attribute and behaviour rules
- Track custom subscriber attributes to drive targeted re-engagement flows
- Pull analytics aggregated across all sites or filtered to a single website
- Inspect notification, event, alias, attribute, and pageview logs for campaign debugging

## Use cases

### Cart Abandonment Recovery

Re-engage shoppers who abandon their cart by triggering a browser push notification within minutes of exit. The Aimtell API lets you create event-triggered campaigns via /campaigns/event and segment subscribers by recent behaviour, so the right offer reaches the right user without batch scheduling. Setup takes under an hour once the website tracking pixel is installed.

Example prompt: Create an event-triggered campaign on website W12345 that sends a push notification 30 minutes after the cart_abandoned event with title 'Still thinking it over?' and a link back to checkout

### Multi-Site Campaign Analytics

Pull push notification performance across every site in a publisher portfolio with a single GET /analytics call, or drill into one site with /analytics/{siteId}. Combined with /campaigns/manual/{campaignId}/clicks, this gives marketing teams a full view of subscriber growth, send volume, and click-through rates without exporting CSVs.

Example prompt: Fetch analytics for all sites between 2026-05-01 and 2026-05-31, then list the three campaigns with the highest click counts

### Subscriber Segmentation by Custom Attributes

Track custom attributes on individual subscribers via POST /subscribers/{subscriberId}/attributes and use them as filters when defining a segment with POST /segments. This lets product teams target subscribers by plan tier, lifecycle stage, or feature usage without touching front-end code.

Example prompt: Track attribute plan=premium on subscriber sub_abc123, then create a segment named 'Premium subscribers' filtering on plan equals premium

### AI Agent Campaign Operator

An AI agent that monitors product analytics can create and send Aimtell campaigns on demand. Through Jentic the agent searches for the right operation, loads the request schema for /campaigns/manual or /push, and executes the call with the X-Authorization key isolated in your Jentic One instance. New campaigns can be drafted, queued, and sent inside one agent run.

Example prompt: Search Jentic for 'send a web push notification', load the /push schema, and send a notification to segment seg_999 with title 'Flash sale' and url https://shop.example.com/sale

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /push | Send a one-off push notification |
| POST | /campaigns/manual | Create a manual push campaign |
| POST | /campaigns/event | Create an event-triggered campaign |
| GET | /segments | List subscriber segments |
| POST | /segments | Create a subscriber segment |
| GET | /subscribers | List subscribers |
| GET | /analytics/{siteId} | Get analytics for a specific site |

## Key resources

- **Campaigns** — Manual, RSS, event-triggered, and welcome push campaigns with results and click tracking
- **Subscribers** — Browser push subscribers with custom attributes and per-website scoping
- **Segments** — Filtered subscriber groups used as campaign targets
- **Websites** — Sites under the Aimtell account, each with its own subscriber base and pixels
- **Analytics** — Aggregate and per-site metrics for sends, deliveries, and clicks
- **Pixels** — Tracking pixels for capturing site events and subscriber behaviour
- **Logs** — Notification, event, alias, attribute, and pageview audit logs

## Why Jentic

- **Setup:** Wiring Aimtell by hand means handling its X-Authorization key, building push and segment payloads, and writing your own retry logic. Through Jentic you install once, import Aimtell from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Aimtell puts the site id in the URL path for analytics (/analytics/{siteId}), so a rule can pin reporting to one site. Its push and campaign targets travel in the request body, so for those you scope by operation, allowing only the ones your agent needs such as /push.
- **Credential handling:** Your Aimtell key 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 'send a browser push notification', and Jentic returns the matching Aimtell operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **OneSignal API** — Cross-channel push, in-app, email, and SMS messaging - broader scope than Aimtell's web-push focus
- **Pusher Channels API** — Realtime pub/sub messaging often paired with web push for in-app notifications
- **Airship API** — Enterprise-grade omnichannel messaging including web and mobile push

## FAQ

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

Aimtell does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Aimtell 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 Aimtell API use?

The Aimtell API uses an API key passed in the X-Authorization header. When called through Jentic, the key is stored encrypted in your Jentic One instance and never enters the agent's context - agents receive scoped access without seeing the raw key.

### Can I send a push notification to a specific segment with the Aimtell API?

Yes. POST /push accepts a target segment identifier alongside the notification title, message, and link, and dispatches the notification to all matching subscribers across the chosen website.

### What are the rate limits for the Aimtell API?

Aimtell does not publish formal rate limits in the spec. In practice, calls are throttled per account; for high-volume sends use campaign endpoints rather than looping POST /push calls.

### How do I create an event-triggered campaign with the Aimtell API through Jentic?

Run pip install jentic, search Jentic for 'create event-triggered push campaign', load the schema for POST /campaigns/event, then execute with the website ID, event name, and notification payload. Jentic injects the X-Authorization header automatically.

### Can I track custom subscriber attributes with the Aimtell API?

Yes. POST /subscribers/{subscriberId}/attributes accepts arbitrary string key-value pairs and the values are usable as segment filters, so attributes set in one call become targetable in the next campaign.

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

Yes. Because Jentic One is self-hosted, you set the rules that decide which Aimtell operations and credentials your agent may use. Aimtell puts the site id in the URL path for analytics, so you can pin reporting to a single site with a path rule on GET /analytics/{siteId}. For push and campaign calls the targets travel in the request body, so you scope those by operation, allowing only the ones your agent needs such as POST /push or POST /campaigns/event.
