Introduction
The agentlyleads REST API lets you push product catalogs, sync offerings from your own systems, and verify what's stored in a workspace — all from any HTTP client or scheduled job.
Base URL
All API requests go to:
https://agentlyleads.comVersioned paths are under /api/v1/ — separate from the app's session API and the MCP connector.
Offerings & types
Your catalog is made of offerings. Every offering has a type, and a "product" is simply an offering of type PRODUCT:
| Type | Use for | Type-specific fields |
|---|---|---|
PRODUCT (default) | A physical good or SKU'd item | sku, stockQty, reorderLevel, unit |
SERVICE | One-off work or labor | — |
SUBSCRIPTION | Recurring revenue | billingPeriod (MONTHLY / YEARLY) |
CONTRACT | A fixed-term commitment | termMonths |
The REST endpoint is named /api/v1/products for familiarity, but it manages offerings of any type — set type to create a service, subscription, or contract. Throughout these docs, "product" and "offering (type PRODUCT)" mean the same thing.
The four ways to import products
| Path | For | Interface | Status |
|---|---|---|---|
| Add offering | A few products, by hand | UI form | Live |
| CSV import | A spreadsheet, one-time or occasional | UI upload | Live |
| Push REST API | Your own system feeding or syncing the catalog | POST /api/v1/products | Live |
| Pull connector | Products already in HubSpot | CLI today → UI "Connect" (roadmap) | Built / roadmap |
Choosing the right path:
- Your system is the source of truth → Push API (schedule a nightly job). It's an idempotent upsert by SKU, so re-running never duplicates.
- One-off list → CSV import (Offerings → Import).
- Catalog lives in HubSpot → pull connector (
npm run products:import). - A handful of products → the UI form (Offerings → Add offering).
How this compares to HubSpot / Zoho
agentlyleads follows the same integration models used by leading CRMs:
| Capability | HubSpot | Zoho CRM | agentlyleads |
|---|---|---|---|
| Inbound REST API | CRM API v3, Private App token (Bearer) | REST API v6, OAuth 2.0 token | /api/v1, workspace API key (Bearer alk_live_…) |
| Bulk write | Batch endpoints (100/req) | Bulk API (100/req) | Bulk upsert, 1,000/req |
| Upsert / dedupe | By idProperty (e.g. SKU) | By unique field | By sku → externalId |
| Partial-success response | 207 multi-status | Per-record status | 207 + per-row results |
| UI connectors | App Marketplace, OAuth "Connect" + background sync | Marketplace + OAuth + sync | CLI today → OAuth "Connect" UI (roadmap) |
The inbound push API with API keys is fully on par with how partners integrate with HubSpot and Zoho today.