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

# Kayako API

Jentic publishes the only available OpenAPI specification for Kayako API, keeping it validated and agent-ready. Kayako is a customer support platform whose v1 API exposes cases (the Kayako term for tickets), users, search, and a tests health-check endpoint. It is the integration surface for connecting Kayako to CRMs, knowledge bases, and helpdesk automations so support agents do not have to copy data between tools. The base URL is parameterised by Kayako instance subdomain.

## For AI agents

Manage customer support cases and users, and run search across the helpdesk in a Kayako Classic instance. 15 endpoints covering the core ticket and user workflow.

## Scope

Does not handle live chat sessions, knowledge base articles, or community forums - use for Kayako case, user, and search operations only.

## Capabilities

- Create, list, retrieve, update, and delete support cases via /cases and /cases/{id}
- Create, list, retrieve, update, and delete user records via /users and /users/{id}
- Run free-text search across cases and users via /search
- Verify API connectivity with the /tests health-check endpoint
- Tie cases to user records via the user reference fields exposed on each case

## Use cases

### CRM-to-Support Ticket Creation

Open a Kayako case automatically when a CRM flags a customer issue, attaching the customer record and conversation context so the support agent picks up the case without re-asking the customer for details. POST /cases with a user ID and subject creates the case in seconds; integration is typically half a day for a one-CRM setup.

Example prompt: Resolve the customer email in Kayako via GET /users with a search filter, then POST /cases with the user ID and subject from the CRM event.

### Cross-Tool Search From a Help Center

Surface Kayako case history inside an internal admin tool by hitting the /search endpoint when a support engineer opens a customer record. The same search returns matching users and cases in one call, so a single keystroke shows every interaction the customer has had - no tab-hopping into the Kayako UI.

Example prompt: Call GET /search with the customer's email to retrieve all cases and users matching that string.

### User Sync From Sign-Up to Support

Mirror users from a product sign-up flow into Kayako so support has a record the moment a customer might raise a ticket. The /users endpoints support create and update, so a new sign-up triggers POST /users and a profile change triggers PATCH /users/{id}, keeping Kayako and the product database in lockstep.

Example prompt: Create a Kayako user via POST /users using the sign-up payload, then update the user via PATCH /users/{id} when their profile changes.

### Agent-Driven Helpdesk Operations

An AI support assistant uses Jentic to update Kayako cases when an engineer says 'close case 12345' or 'add a note to that ticket'. Jentic resolves the case ID, picks the right endpoint, and executes the call, while basic-auth credentials stay in the vault and are never quoted back to the user.

Example prompt: Use the Jentic search 'update a Kayako case', load the schema, and PATCH /cases/{id} with status=closed.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /cases | List support cases |
| POST | /cases | Create a new support case |
| GET | /cases/{id} | Retrieve a specific case |
| GET | /users | List users |
| POST | /users | Create a user |
| GET | /users/{id} | Retrieve a user |
| GET | /search | Search across cases and users |

## Key resources

- **Cases** — Create, list, retrieve, update, and delete support cases.
- **Users** — Create, list, retrieve, update, and delete user records.
- **Search** — Free-text search across cases and users.
- **Tests** — API health-check endpoint for connectivity verification.

## Why Jentic

- **Setup:** Wiring the Kayako API by hand means encoding its basic-auth credentials, pointing calls at your instance host on kayako.com, and mapping case and user requests to their shapes yourself. Through Jentic you install once, import the Kayako API from the API Directory, store the credentials once, and your agent calls it.
- **Permission scoping:** Kayako's writes post to collection endpoints like /cases and /users, so scope the agent by the operations it needs, such as creating a case or searching for a customer. You pick that set, so user creation is not included unless you add it.
- **Credential handling:** Your Kayako basic-auth username and password are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a Kayako case' or 'search Kayako for a customer', and Jentic returns the matching Kayako operation with its body schema so the agent calls the right endpoint without reading Kayako's developer documentation.

## Related APIs

- **Zendesk Support API** — Larger helpdesk platform with broader automations and side-conversation features.
- **Freshdesk API** — Mid-market helpdesk with similar case and contact model to Kayako.
- **Intercom API** — Live chat and proactive messaging that often feeds tickets into Kayako.
- **HubSpot CRM** — CRM that stores the customer record Kayako attaches to each support case.

## FAQ

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

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

The API uses HTTP basic authentication. Each request includes an `Authorization: Basic {base64(user:password)}` header where the credentials are issued from the Kayako instance admin console. Through Jentic, the credential pair is held encrypted in the vault and base-64 encoded at execution time, so the raw password never enters the agent's context.

### Can I create a support case via the Kayako API?

Yes. POST /cases creates a case bound to a user ID and subject; the response returns the case ID for follow-up calls like PATCH /cases/{id} to update status. Resolve the customer first via /users or /search if you only have an email.

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

Kayako applies per-instance throttling and returns HTTP 429 on bursts. The platform expects integration-level traffic and the v1 surface is small (15 endpoints), so steady automation traffic stays comfortably below the limit. Use /search instead of polling /cases when looking for state changes.

### How do I update a Kayako case status through Jentic?

Run `pip install jentic` and search Jentic for 'update a Kayako case'. Jentic returns the schema for PATCH /cases/{id}; supply the case ID and the new status (open, pending, closed), then execute. The basic-auth credentials are injected from the vault.

### Does the Kayako API expose a search across cases and users together?

Yes. GET /search accepts a free-text query and returns matching cases and users in a single response. This is the canonical way to find everything tied to a customer email or order number without two round trips.

### Is the Kayako API included in every plan?

API access is bundled with Kayako Classic paid plans. Trial accounts may have limited surface; check the instance plan if /cases or /users return 403.

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

Yes. Because Jentic One runs self-hosted, you decide which Kayako operations your agent may call and which basic-auth credentials it uses. You can grant only the operations you need, such as searching for a customer via /search or creating a case via POST /cases, and leave out writes to collection endpoints like POST /users so the agent cannot create user records. The agent can call exactly the set you allow and nothing more.
