canonical: https://jentic.com/apis/engagebay.com/engagebay

# EngageBay CRM REST API

Jentic publishes the only available OpenAPI specification for EngageBay CRM REST API, keeping it validated and agent-ready. EngageBay is an all-in-one marketing, sales, and support CRM, and the API exposes contacts, companies, deals, tags, notes, call logs, tasks, owners, custom fields, tickets, and more. The 71-endpoint surface lets agents read and write across the full CRM data model rather than just the contact object. Sales and ops teams use it to keep EngageBay in sync with product systems, search across contacts, companies, and deals, and adjust contact tags or owners in response to events.

## For AI agents

Read and write contacts, companies, deals, tags, notes, and tasks across the EngageBay CRM via 71 REST endpoints.

## Scope

Does not handle email campaign sending, landing page hosting, or live chat sessions - use for reading and writing CRM records (contacts, companies, deals, tags, notes) in EngageBay only.

## Capabilities

- Look up a contact by ID or by email and inspect its tags
- Create or partially update contacts and companies in batches
- Search across contacts, companies, and deals with one query
- Add or remove tags and adjust contact scores
- Manage contact notes, call logs, and ownership assignments

## Use cases

### Lead Capture to CRM

When a new lead signs up via a marketing form, the agent calls POST `/dev/api/panel/subscribers/subscriber` to create the contact, then optionally tags them with POST `/dev/api/panel/subscribers/email/tags/add.` This keeps EngageBay's lead pipeline current without nightly batch imports.

Example prompt: Create a contact for 'jane@example.com' with first_name 'Jane' and add the 'newsletter-2026' tag in two API calls

### Search Across Contacts, Companies, and Deals

Use GET `/dev/api/search` to run a single query against contacts, companies, and deals - useful for an agent answering 'do we already know this person?' before creating a duplicate. The endpoint reduces three lookups to one.

Example prompt: Search 'acme.com' across all record types and return any matching contacts, companies, and deals

### Tag and Score Maintenance

When product events indicate a status change (e.g. a free user upgrades), the agent calls POST `/dev/api/panel/subscribers/email/tags/add` and POST `/dev/api/panel/subscribers/add-score/{email}/{score}` to keep tags and lead scores aligned with reality. Sales reps then see accurate scoring in EngageBay.

Example prompt: Add the 'paid' tag and bump score by 20 for the contact with email 'pat@example.com'

### Agent-Driven CRM Hygiene

An AI agent doing daily CRM hygiene searches Jentic for 'find engagebay contact by email', loads the operation, and chains follow-ups to update tags, scores, owners, or notes. Bulk creates run through POST `/dev/api/panel/subscribers/subscriber-batch` when a downstream system delivers many records at once.

Example prompt: For each new sign-up in the last 24 hours, look up by email and add a 'recent-signup' tag; create the contact if it doesn't exist

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/dev/api/panel/subscribers/subscriber` | Create a contact |
| GET | `/dev/api/panel/subscribers/{id}` | Get contact by ID |
| GET | `/dev/api/panel/subscribers/contact-by-email/{email}` | Get contact by email |
| POST | `/dev/api/panel/subscribers/email/tags/add` | Add tags to a contact by email |
| POST | `/dev/api/panel/subscribers/add-score/{email}/{score}` | Add score to a contact |
| GET | `/dev/api/search` | Search contacts, companies, or deals |
| POST | `/dev/api/panel/companies/company` | Create a company |
| POST | `/dev/api/panel/subscribers/subscriber-batch` | Create a batch of contacts |

## Key resources

- **Subscribers (Contacts)** — Contact records and their tags, notes, and ownership
- **Companies** — Company records and their associated contacts
- **Search** — Cross-record search across contacts, companies, and deals
- **Notes** — Notes attached to contacts
- **Call Logs** — Call activity logged against contacts

## Why Jentic

- **Setup:** Wiring the EngageBay CRM REST API by hand means placing its API key in the Authorization header, learning its `/dev/api/panel` route layout across 71 operations, and building your own error handling against https://app.engagebay.com. Through Jentic you install once, import the EngageBay CRM REST API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** The EngageBay CRM REST API puts the contact id in the URL path (`/dev/api/panel/subscribers/{id}`), so a rule can pin your agent to one contact: it can read that contact and nothing else. You choose the operations it may call, so ones like adding a score, creating companies, or batch subscriber updates are not included unless you add them.
- **Credential handling:** Your EngageBay API 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 'look up a CRM contact by email' or 'create a company record', and Jentic returns the matching EngageBay operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Engage.so API** — Engage.so is focused on lifecycle messaging; EngageBay is a full marketing/sales/support CRM.
- **Endear API** — Endear is retail-specific clienteling; EngageBay is a horizontal CRM.
- **EndorseFlow API** — EndorseFlow can ask testimonials from EngageBay contacts after a positive interaction.

## FAQ

### Why is there no official OpenAPI spec for EngageBay CRM REST API?

EngageBay does not publish an OpenAPI specification - they document their REST API in a GitHub repo. Jentic generates and maintains an OpenAPI spec from that source so AI agents and developers can call EngageBay CRM REST 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 EngageBay CRM REST API use?

EngageBay uses an API key via the `apiKeyAuth` scheme. Through Jentic, the key is stored encrypted in the vault and applied at execution time so the raw value never enters the agent's prompt.

### Can I look up a contact by email in EngageBay?

Yes. GET `/dev/api/panel/subscribers/contact-by-email/{email}` returns the contact for a given email address. Use it before creating a new contact to avoid duplicates.

### How do I search across contacts, companies, and deals at once?

GET `/dev/api/search` runs one query across all three record types and returns matching records. This avoids issuing three separate calls when the agent only has a fuzzy query string.

### What are the rate limits for the EngageBay CRM REST API?

The OpenAPI spec does not declare rate limits. EngageBay enforces account-level throttling in production; back off on HTTP 429 responses and check the EngageBay GitHub docs for the exact ceiling on your plan.

### How do I create a contact through Jentic?

Run `pip install jentic`, search 'create an engagebay contact', and Jentic returns POST `/dev/api/panel/subscribers/subscriber` with its input schema. The agent supplies the contact fields and executes against base URL https://app.engagebay.com.

### Can I limit what my agent is allowed to do with the EngageBay CRM REST API?

Yes. Because you run Jentic One yourself, your own rules decide which of the 71 EngageBay operations and which stored API key the agent may use. Since the contact id sits in the URL path at `/dev/api/panel/subscribers/{id}`, a rule can pin the agent to a single contact so it reads only that record and nothing else. You choose the operations it may call, so actions like adding a lead score, creating companies, or running batch subscriber updates stay off-limits until you grant them.
