# Enginy API

**Canonical:** https://apis.io/apis/enginy-ai/enginy-ai-api/  
**Provider:** Enginy — https://apis.io/providers/enginy-ai/  
**Base URL:** https://openapi.enginy.ai  
**Documentation:** https://docs.enginy.ai/api-reference/custom-crm/endpoints/health.md

Enginy API is published by [Enginy](https://apis.io/providers/enginy-ai/) on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. This API exposes 6 JSON Schema definitions. The published artifact set on APIs.io includes an OpenAPI specification and 6 JSON Schemas.

Enginy API as documented publicly: 39 operations. Contract generated from the documentation by API Evangelist (2026-11-06); not the provider's own document.

## Operations (39)

| Method | Path | Summary |
|---|---|---|
| GET | `/health` | Health check |
| POST | `/tasks` | POST /tasks |
| GET | `/tasks/{taskid}` | Retrieves a single task by ID. |
| PATCH | `/tasks/{taskid}` | Updates a task, typically to mark it as completed. |
| POST | `/tasks/batch` | POST /tasks/batch |
| GET | `/users` | Get Users |
| POST | `/v1/actions` | How to chain enrichments and other actions on contacts and companies through POST /v1/actions |
| POST | `/v1/add-contact-group-to-campaign` | POST /v1/add-contact-group-to-campaign adds every contact in a contact group to an existing campaign. |
| POST | `/v1/add-contact-to-campaign` | POST /v1/add-contact-to-campaign adds one contact to an existing campaign. |
| POST | `/v1/ai-finder/previews` | Call `POST /v1/ai-finder/previews` (`preview_an_ai_finder_search`) with the audience and provider, or reuse the latest matching preview. |
| GET | `/v1/ai-playbook` | Read the playbook: GET /v1/ai-playbook — scope WORKSPACE_READ |
| PUT | `/v1/ai-playbook` | Update the playbook: PUT /v1/ai-playbook — scope WORKSPACE_WRITE |
| GET | `/v1/ai-variables/ai-message-tones` | Tones for AI messages are available via `GET /v1/ai-variables/ai-message-tones`. |
| GET | `/v1/ai-variables/ai-messages` | Reuse a workspace AI message: list them with `GET /v1/ai-variables/ai-messages`. |
| POST | `/v1/ai-variables/ai-messages` | Create a new AI message with full control over `prompt`, `toneId`, `model`, `outputLength`, and `splitMessages`. |
| GET | `/v1/campaign/{campaignid}` | GET /v1/campaign/{campaignId} returns `thread` on every email step that has an explicit choice. |
| PATCH | `/v1/campaign/{campaignid}` | Use `PATCH /v1/campaign/{campaignId}` to modify a campaign that is still in `DRAFT` status. |
| GET | `/v1/campaign/{campaignid}/analytics` | GET /v1/campaign/{campaignId}/analytics maps stored status to user‑facing status, returning status: "PAUSED" with isPaused: true. |
| POST | `/v1/campaign/{campaignid}/clone` | A launched campaign cannot be edited; clone it with `POST /v1/campaign/{campaignId}/clone` and edit the clone. |
| PATCH | `/v1/campaign/{campaignid}/status` | To stop a campaign sending, use PATCH /v1/campaign/{campaignId}/status with status: "PENDING". |
| GET | `/v1/campaigns` | GET /v1/campaigns lists campaigns after creation. |
| POST | `/v1/campaigns` | Use `POST /v1/campaigns` to create a draft campaign from the public `steps` format. |
| GET | `/v1/contacts/fields` | Manual `content`/`subject` placeholders must reference real fields — discover them with `GET /v1/contacts/fields`. |
| GET | `/v1/identities` | A campaign sends from one or more sender identities. Find their IDs with `GET /v1/identities`. |
| GET | `/v1/identities/{identityid}/mailboxes` | Inspect the mailboxes attached to an identity. |
| POST | `/v1/identities/{identityid}/mailboxes` | Configure sending mailboxes for an identity. |
| POST | `/v1/inbox/messages` | POST /v1/inbox/messages supports attachment only when the selected channel is LINKEDIN. |
| POST | `/v1/pause-contact-in-campaign` | To stop outreach to a single contact rather than the whole campaign, use POST /v1/pause-contact-in-campaign. |
| GET | `/v1/prompt-library/ai-messages` | Reuse a public prompt‑library entry: list them with `GET /v1/prompt-library/ai-messages`. |
| GET | `/v1/tasks/owners` | Allows reading CRM owners for task assignment workflows through GET /v1/tasks/owners. |
| GET | `/v1/voices` | Use `GET /v1/voices` to discover valid `voiceId` values for LinkedIn voice messages. |
| PATCH | `/v1/workflow/{workflowId}/draft` | `PATCH /v1/workflow/4021/draft` with "revision": "2026-07-19T10:15:30.000Z". |
| POST | `/v1/workflow/{id}/run` | `MANUAL` trigger runs via `POST /v1/workflow/{id}/run`. |
| GET | `/v1/workflow/{workflowid}` | Every `GET /v1/workflow/{workflowId}` returns a **`revision`** token. |
| GET | `/v1/workflow/{workflowid}/validate-draft` | Validate before you publish with `GET /v1/workflow/{workflowId}/validate-draft`. |
| GET | `/v1/workflows/blocks` | `blockId` comes from `GET /v1/workflows/blocks`. |
| GET | `/v1/workflows/blocks/{blockid}` | `inputs` are the block's configured inputs — discover them with `GET /v1/workflows/blocks/{blockId}`. |
| GET | `/v1/workflows/condition-fields` | Discover fields and operators with `GET /v1/workflows/condition-fields`. |
| GET | `/v1/workflows/import-inputs` | Call `GET /v1/workflows/import-inputs?previewId=<previewId>&maxCount=100` (`get_workflow_import_inputs`, scope `WORKFLOWS_READ`). |

## Machine-readable artifacts (8)

- **OpenAPI** — https://artifacts.apis.io/enginy-ai/openapi/_ae-authored/enginy-ai-openapi-generated.yml
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-put-v1-ai-playbook-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-post-v1-actions-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-get-tasks-taskid-response-schema.json
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-post-v1-inbox-messages-request-schema.json
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-post-v1-add-contact-group-to-campaign-response-schema.json
- **JSONSchema** — https://artifacts.apis.io/enginy-ai/json-schema/enginy-ai-post-v1-ai-variables-ai-messages-request-schema.json
- **APIsJSON** — https://artifacts.apis.io/enginy-ai/apis.yml

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/enginy-ai/enginy-ai-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/enginy-ai/.
