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

# hotglue API

The hotglue API runs embedded data integrations for a SaaS product's customers: it links each tenant's source and target connectors to a flow, runs and schedules sync jobs, and moves records between them. Calls are organised by environment id, flow id, and tenant, so a product can link a customer's connector, trigger a V2 job with a connector_id and job_type, poll its status, and download the job output. It also covers connector discovery, saved sync state, field mappings, selected filters, write requests to a connector stream, and magic links that let a tenant connect an account themselves.

## For AI agents

Link tenant connectors, run and schedule sync jobs, poll job status, and write records to connectors in a hotglue environment.

## Scope

Does not store analytics, build dashboards, or act as the CRM or accounting system itself. Use for linking tenant connectors and running embedded data sync jobs only.

## Capabilities

- Link, update, and unlink a tenant's source, target, and V2 connectors within a flow
- Run a V2 sync job with a connector_id and job_type, then poll its status and fetch its output zip
- Set a cron-style schedule_expression with optional jitter for one tenant and flow, check it, and remove it when no longer needed
- Run discover on a linked connector and save the selected filters and streams to sync
- Read, set, or reset a connector's saved sync state to rerun a sync from a chosen point
- Write records to a connector stream and poll the write request by taskId
- Create a magic link so a tenant can connect their own account to a flow

## Use cases

### Agent-run customer sync operations

An AI agent supporting a SaaS product's integrations team needs to rerun a customer's sync and confirm it finished. Through Jentic it finds the hotglue job operations by intent, starts a V2 job for the tenant's connector, polls the status endpoint, and reports the result, while a rule keeps it inside the one environment, flow, and tenant it was asked about.

Example prompt: Call POST `/v2/{env_id}/{flow_id}/{tenant}/jobs` with connector_id set to the tenant's CRM connector and job_type set to read, then poll GET /{env_id}/{flow_id}/{tenant}/jobs/status with the returned job_id until it completes

### Onboarding a customer integration

When a new customer signs up, the product needs their accounting or CRM data flowing in. The hotglue API lists the connectors a flow supports, creates a magic link the tenant uses to connect their own account, and then links the connector to the tenant so jobs can run against it.

Example prompt: Call GET `/v2/{env_id}/{flow_id}/supportedConnectors` to list options, then POST /{env_id}/magicLink with the tenant and flow so the customer can connect their account

### Scheduled syncs per tenant

Each customer may need a different sync cadence. The schedule operations accept a schedule_expression and optional schedule_jitter_minutes for one tenant and flow, and the environment-level schedule toggle turns schedules on or off across tenants, so syncs run on time without a separate scheduler.

Example prompt: Call PUT /{env_id}/{flow_id}/{tenant_id}/jobs/schedule with schedule_expression set to a daily 02:00 cron expression, then GET the same path to confirm it was saved

### Debugging a broken sync

When a customer reports missing records, an engineer needs to see what happened. The advanced job query filters an environment's jobs by status, tenant, taps, targets, and date range, the zip endpoint fetches a job's output, and the state endpoints let the connector restart from a known point.

Example prompt: Call GET /{env_id}/jobs with a status filter and a from date, pick the failing job, then fetch GET /{env_id}/{flow_id}/{tenant}/jobs/zip with its job_id

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | `/v2/{env_id}/{flow_id}/{tenant}/jobs` | Run a V2 job |
| GET | `/{env_id}/{flow_id}/{tenant}/jobs/status` | Poll job status |
| POST | `/v2/{env_id}/{flow_id}/{tenant}/linkedConnectors` | Link a connector |
| PUT | `/{env_id}/{flow_id}/{tenant_id}/jobs/schedule` | Create jobs schedule |
| GET | `/{env_id}/jobs` | Advanced job query |
| GET | `/tenants/{env_id}` | Retrieve tenants |
| POST | `/{env_id}/magicLink` | Create a magic link |
| POST | `/{env_id}/{flow_id}/{tenant}/connectors/{connector_id}/{stream}` | Write to a connector |

## Key resources

- **Linked connectors** — Link, update, unlink, discover, and manage sync state for a tenant's V2 connectors, sources, and targets
- **Jobs** — Run V1 and V2 jobs, poll status, kill, retrigger, roll back, download output, and query jobs across an environment
- **Schedules** — Create, read, delete, and toggle cron-style job schedules
- **Tenants** — List and delete tenants, and read or set tenant config, mapping, metadata, and snapshots
- **Connector writes and filters** — Write records to a connector stream, poll write requests, and save selected filters

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 49 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 45 / 100
  - Developer Experience & Jentic Compatibility: 69 / 100
  - AI-Readiness & Agent Experience: 29 / 100
  - Agent Usability: 88 / 100
  - Security: 50 / 100
  - AI Discoverability: 69 / 100
- **View full report:** https://jentic.com/apis/hotglue.com/hotglue/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring hotglue by hand means carrying the x-api-key header, tracking env_id, flow_id, and tenant on every path, and choosing between V1 and V2 job and connector operations. Through Jentic you install once, import hotglue from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** hotglue puts the environment, flow, and tenant ids in the URL path (/{env_id}/{flow_id}/{tenant}/...), so a rule can pin your agent to one customer's tenant in one flow. You choose the operations it may call, so destructive ones like tenant deletion or connector unlinking are not included unless you add them.
- **Credential handling:** Your hotglue 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 'run a sync job' or 'schedule a tenant sync', and Jentic returns the matching hotglue operation with its input schema so the agent fills env_id, flow_id, and tenant correctly without browsing the reference docs.

## Related APIs

- **Airbyte API** — Open-source data movement with connectors, sources, destinations, and sync jobs
- **Prismatic Integration Platform API** — Embedded integration platform for B2B SaaS products
- **Salesforce** — A common customer CRM a hotglue flow syncs from or writes to

## FAQ

### What authentication does the hotglue API use?

Per its OpenAPI spec, the hotglue API authenticates with an API key sent in the `x-api-key` header, declared as the global security requirement. Through Jentic the key is stored by your own instance and attached at execution time, so the agent never handles it.

### Can I run and monitor a sync job with the hotglue API?

Yes. POST `/v2/{env_id}/{flow_id}/{tenant}/jobs` starts a job and requires connector_id and job_type in the body. GET /{env_id}/{flow_id}/{tenant}/jobs/status polls it by job_id or external_job_id, and GET /{env_id}/{flow_id}/{tenant}/jobs/latest returns the most recent job for that tenant.

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

The OpenAPI spec does not specify rate limits. Check https://docs.hotglue.com for current limits before running high-volume job polling.

### Is there a hotglue MCP server?

You don't need an MCP server to give your agent hotglue. Jentic connects it directly from the API Directory: import it, store your API key once, and your agent calls the job, connector, and schedule operations it needs, discovered on demand rather than loaded into its context up front.

### How do I schedule a tenant's sync through Jentic?

Search Jentic for 'schedule a hotglue sync', load PUT /{env_id}/{flow_id}/{tenant_id}/jobs/schedule, and pass a schedule_expression in the body. Your instance attaches the key when the agent calls it. To run it on your own infrastructure, install Jentic One from its GitHub repo.

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

Yes. For example, allow only the job run, status, and latest-job operations under one env_id, flow_id, and tenant, and the agent can rerun and check that customer's syncs but cannot unlink connectors, delete tenants, or touch other customers, and every call it makes is logged.
