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

# Akazte REST API

Jentic publishes the only available OpenAPI specification for Akazte REST API, keeping it validated and agent-ready. Akazte is a self-hosted CRM and project workflow platform - the JSON REST API exposes 16 endpoints covering customers, contacts, leads, invoices, estimates, credit notes, proposals, contracts, items, expenses, payments, payment modes, timesheets, tasks, and staff. Each Akazte instance runs on the customer's own domain, so the base URL is templated as https://{domain} and bearer-token authentication is required.

## For AI agents

Create and list customers, leads, invoices, estimates, expenses, and tasks across a self-hosted Akazte CRM, with bearer-token auth scoped to your domain.

## Scope

Does not process card payments, send transactional email, or host marketing campaigns - use for CRM record creation, invoicing, and project tracking only.

## Capabilities

- List customers and create new customer records
- Create contacts attached to a customer
- Capture leads in the pipeline with structured payloads
- Issue invoices, estimates, credit notes, proposals, and contracts
- Record expenses, payments, and timesheet entries
- List configured payment modes and assign them to payments
- Create tasks and list staff assignments

## Use cases

### Lead intake and qualification

Wire a marketing form or chatbot directly into Akazte by calling POST /api/leads with the captured details. The agent can then convert qualified leads into customers via POST /api/customers, attach contacts, and follow up with proposals or estimates.

Example prompt: POST /api/leads with the form payload, then POST /api/customers when qualified and POST /api/proposals to send a proposal

### Invoice and payment workflow

Automate the back end of a sales process - issue an estimate, convert it to an invoice, record payments against it, and issue credit notes when refunds are due. Each step is a single Akazte endpoint, so an agent can drive the lifecycle without touching the UI.

Example prompt: POST /api/estimates, then POST /api/invoices when accepted, and POST /api/payments to record the customer's payment

### Project tracking and timesheets

Track project work by creating tasks, assigning them to staff, and logging timesheet entries against them. Useful for a project-management chatbot that lets staff log time without opening the dashboard.

Example prompt: POST /api/tasks with title and assignee, then POST /api/timesheets with the task id and hours worked

### AI agent integration via Jentic

An agent uses Jentic to discover Akazte's CRM operations by intent and execute them through your Jentic One instance - useful in environments where the bearer token must not leave a controlled vault, especially since Akazte runs on the customer's own domain.

Example prompt: Search Jentic for 'create an invoice in a self-hosted CRM', load the Akazte POST /api/invoices operation, and execute against the customer's domain

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/customers | List customers |
| POST | /api/customers | Create a customer |
| POST | /api/leads | Create a lead |
| POST | /api/invoices | Create an invoice |
| POST | /api/estimates | Create an estimate |
| POST | /api/payments | Record a payment |
| POST | /api/tasks | Create a task |

## Key resources

- **Customers and Contacts** — Create and list customer records and attached contacts
- **Sales Documents** — Issue estimates, invoices, credit notes, proposals, and contracts
- **Payments** — Record payments and list configured payment modes
- **Tasks and Timesheets** — Create tasks and log timesheet entries
- **Expenses and Items** — Record expenses and create catalogue items
- **Leads and Staff** — Capture leads and list staff members

## Why Jentic

- **Setup:** Wiring Akazte by hand means handling its bearer token, pointing every call at your own instance domain, and writing your own retry logic across the CRM surface. Through Jentic you install once, import Akazte from the API Directory, store the token and domain once, and your agent calls it.
- **Permission scoping:** Akazte carries its customer, lead, and invoice details in the request body, so scope your agent by operation: limit it to the operations it needs, such as creating an invoice, and leave out payment or task endpoints it does not use.
- **Credential handling:** Your Akazte bearer token and instance domain 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 an invoice in a CRM', and Jentic returns the Akazte POST /api/invoices operation with its schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Zoho CRM** — Hosted CRM with deeper deal-pipeline features.
- **Salesforce** — Enterprise CRM with the largest API surface in the category.
- **Stripe** — Run the actual card charge - Akazte records the payment, Stripe processes it.

## FAQ

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

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

Akazte uses HTTP bearer authentication - supply the token in the Authorization: Bearer <token> header. Through Jentic, the bearer token and your Akazte domain are both stored in the encrypted Jentic One instance and injected at execution time.

### Does the Akazte API run on a fixed base URL?

No. The base URL is templated as https://{domain} and resolves to your specific Akazte instance. Replace {domain} with your live Akazte URL when configuring credentials. Jentic stores your domain alongside the bearer token so calls route correctly.

### How do I create an invoice in Akazte through Jentic?

Use the Jentic search query 'create an invoice in Akazte'. Jentic returns the POST /api/invoices operation; supply the customer id and line items and Jentic injects your bearer token and domain at execution.

### Can I capture leads from a chatbot via Akazte?

Yes. POST /api/leads accepts a structured lead payload and creates a record in your CRM pipeline. From there, an agent can convert qualified leads to customers via POST /api/customers.

### Are there rate limits on the Akazte API?

Akazte runs on your own domain so rate limits depend on your hosting capacity. The OpenAPI spec does not declare them. Implement basic backoff on 429 or 5xx responses for safety.

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

Yes. Because you run Jentic One yourself, your own rules decide which Akazte operations and credentials the agent can use, and you scope it by operation rather than by request body. Grant only the endpoints a given agent needs, such as POST /api/invoices to create an invoice or POST /api/leads to capture a lead, and leave out the ones it should never touch, like POST /api/payments or POST /api/tasks. Your bearer token and instance domain stay under your control and are injected only for the operations you have allowed.
