Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Uku API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fgetuku.com%2Fgetuku" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fgetuku.com%2Fgetuku" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Uku API.
Authenticate via POST /login and obtain a JWT bearer token for subsequent calls
Create and list client records that drive billing and contract relationships
Sync contact details against Uku for use in engagement letters
Read invoice records and invoice-seller metadata for reconciliation
Retrieve contract status to gate workflow steps in downstream tools
GET STARTED
Look up a single client, contact, contract, or invoice by id
Patterns agents use Uku API for, with concrete tasks.
★ Sync Client Lists Between Uku and a CRM
Accounting firms running both a CRM and Uku must keep client lists aligned so engagement letters, invoices, and contracts route to the right party. The Uku API exposes client list and create endpoints so a sync job can mirror the CRM's customer table into Uku each night, with idempotent updates against the same Uku client id.
Pull the firm's CRM client list, then for each client call POST /clients in Uku if no matching record exists.
Pull Invoice Status for Reconciliation
Accountants reconciling between Uku and a general ledger pull the Uku invoice list and per-invoice details to confirm which invoices are issued, paid, or outstanding. The /invoices and /invoices/{invoice_id} endpoints make this straightforward without exporting CSVs from the Uku UI.
List all invoices, then fetch full details for any whose status is 'pending' and report the totals.
Contract Status Gating in Workflow Tools
When a workflow tool kicks off a tax or audit job, it can call the Uku contracts endpoint first to verify the client has a current signed engagement. The contract list and detail endpoints expose status so the workflow either proceeds or pauses the job until the engagement letter is in place.
Fetch contract id 998 and only proceed with downstream steps if status equals 'signed'.
AI Agent Practice Management Tasks
An AI agent triaging accountant email can create Uku clients, look up contracts, and queue invoices without UI navigation. Through Jentic the agent finds each operation by intent ('create a client in Uku', 'list invoices for client'), loads the schema, and executes, while the JWT token stays in the encrypted vault.
Create a client named 'Acme Ltd' in Uku, then list any existing contracts for that client.
34 endpoints — the uku api is the integration surface for the uku practice-management platform used by accounting firms.
METHOD
PATH
DESCRIPTION
/login
Authenticate and receive a JWT bearer token
/clients
List clients
/clients
Create a client record
/clients/{client_id}
Retrieve a single client
/contracts
List contracts
/invoices
List invoices
/invoices/{invoice_id}
Retrieve a single invoice
/login
Authenticate and receive a JWT bearer token
/clients
List clients
/clients
Create a client record
/clients/{client_id}
Retrieve a single client
/contracts
List contracts
/invoices
List invoices
/invoices/{invoice_id}
Retrieve a single invoice
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Uku API by hand means logging in for a short-lived JWT, refreshing it against the app.getuku.com host before it expires, and re-attaching it on every call yourself. Through Jentic you install once, import the Uku API from the API Directory, store the login credential once, and your agent calls it.
Permission scoping
Uku puts the client id in the URL path (/clients/{client_id}), so a rule can pin your agent to one client's record for reads. You choose the operations it may call, so creating clients or listing invoices across the practice is not included unless you add them.
Credential isolation
Your Uku login credential and the JWT it yields are stored once, encrypted, by your own Jentic One instance and injected at execution time, with refresh handled centrally. They never enter the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'create a client in Uku' or 'list Uku invoices', and Jentic returns the matching Uku operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Uku API through Jentic.
What authentication does the Uku API use?
Uku uses HTTP bearer authentication with a JWT token. POST /login exchanges the user's credentials for the JWT, which is then sent as Authorization: Bearer <token>. Through Jentic the credentials and resulting JWT are stored encrypted in the vault - the agent receives a scoped invocation capability rather than the raw token.
Can I create a client with the Uku API?
Yes. POST /clients accepts the client payload and returns the created record with its id. Use GET /clients to verify the record exists before re-running a creation, since the spec does not declare an idempotency-key endpoint here.
What are the rate limits for the Uku API?
The spec does not declare explicit rate limits. Production integrations should respect 429 responses, throttle bulk client and invoice sync jobs, and avoid running tight loops over /invoices for large client books.
How do I retrieve invoices through Jentic?
Search Jentic for 'list uku invoices'. Jentic returns the GET /invoices operation with its query parameter schema; load it, optionally filter by client, and execute. For a single invoice's full payload, follow up with GET /invoices/{invoice_id}.
Does the Uku API expose contract status?
Yes. GET /contracts lists contracts and GET /contracts/{contract_id} returns the full record including status. This is the standard gate to verify an engagement letter is signed before downstream automation runs.
Can I limit what my agent is allowed to do with the Uku API?
Yes. Because you run Jentic One yourself, your own rules decide which Uku operations and credentials the agent may use. Since Uku puts the client id in the URL path, such as GET /clients/{client_id}, you can pin the agent to reading a single client's record. You also choose the operations it may call, so creating clients with POST /clients or listing invoices across the whole practice with GET /invoices stays off limits unless you grant them.
For Agents
Manage clients, contacts, contracts, and invoices in the Uku practice-management platform via 34 endpoints with JWT bearer authentication.
Use for: I need to log in to Uku and obtain an access token, Create a new client record in Uku, List all invoices for a given client, Retrieve contact details for contact id 7421
Not supported: Does not handle payment processing, payroll, or tax filing - use for Uku practice-management client, contract, and invoice records only.
The Uku API is the integration surface for the Uku practice-management platform used by accounting firms. Across 34 endpoints it covers clients, contacts, contracts, invoices, invoice sellers, and a login flow that issues JWT bearer tokens for subsequent calls. Accountants and accounting tools use it to sync client lists, push invoices into Uku, and read contract status without manual data entry across systems.