Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Kantata OX 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%2Fkantata.com%2Fkantata" | 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%2Fkantata.com%2Fkantata" | 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 Kantata OX API.
Create, update, and disable account memberships and roles via /account_memberships endpoints
Inspect and manage custom field definitions and values across projects, users, and organisations
Subscribe to platform event types and manage active subscriptions via /subscribed_events endpoints
Manage account locations and rates that feed into project budgeting and billing
GET STARTED
Export account-level data through the /exports endpoints for reconciliation and reporting
Configure account-wide settings, roles, and skill mappings through dedicated /settings endpoints
Patterns agents use Kantata OX API for, with concrete tasks.
★ Professional Services Automation Sync
Keep a services firm's identity, role, and rate data in sync between Kantata OX and an HRIS or finance system. Account memberships, roles, and rates exposed through the API let downstream systems mirror the staffing model and run accurate margin reporting. Integration is typically a few days for nightly syncs against a stable contract since /account_memberships and /rates support filter and pagination.
List active account memberships via GET /account_memberships?disabled=false and update each user's external system ID using PATCH /account_memberships/{id}.
Custom Field Automation Across Projects
Drive consistency in project metadata by programmatically defining and updating custom fields across all active projects in Kantata OX. The Custom Fields endpoints let an automation create a field once and apply it to every matching project, then bulk-update values when an external CRM changes (e.g. account tier flips). Removes manual cleanup work after every reorg.
Define a custom field 'Account Tier' via the Custom Fields endpoint and populate it on every active project that matches a CRM account.
Event-Driven Reporting and Alerts
Subscribe to Kantata OX events (membership changes, project updates, rate changes) and pipe them into a data warehouse or Slack channel for real-time observability. The /subscribed_events resource manages event-type subscriptions on the account and replaces brittle polling, giving finance and ops teams a low-latency feed without paying for a third-party iPaaS.
List available event types via GET /subscribed_events/event_types and subscribe to the membership.disabled event by POSTing to /subscribed_events.
Agent-Driven Operations for Services Firms
Operations agents inside services firms use Jentic to discover Kantata OX endpoints by intent ('disable a former employee', 'update a project rate') and execute changes safely. Jentic enforces least-privilege scoping on the bearer token so an automation that just needs to disable memberships cannot accidentally export the entire roster.
Use the Jentic search 'disable a Kantata account membership', load the schema, and call /account_memberships/{id}/disable for the supplied membership ID.
52 endpoints — jentic publishes the only available openapi specification for kantata ox api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/account_memberships
List account memberships with filters
/account_memberships/{id}
Update an account membership
/account_memberships/{id}/disable
Disable an account membership
/subscribed_events/event_types
List available event types
/subscribed_events
Subscribe to an event type
/account_locations
List account locations
/account_memberships
List account memberships with filters
/account_memberships/{id}
Update an account membership
/account_memberships/{id}/disable
Disable an account membership
/subscribed_events/event_types
List available event types
/subscribed_events
Subscribe to an event type
/account_locations
List account locations
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Kantata OX API by hand means learning its bearer auth, calling the api.mavenlink.com host, and paging through membership and event resources yourself. Through Jentic you install once, import the Kantata OX API from the API Directory, store the token once, and your agent calls it.
Permission scoping
Kantata OX puts the membership id in the URL path (/account_memberships/{id}), so a rule can pin your agent to one account membership for updates and reads. You choose the operations it may call, so a state-changing one like disabling a membership is not included unless you add it.
Credential isolation
Your Kantata OX bearer token 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.
Intent-based discovery
Agents search Jentic by intent such as 'list account memberships' or 'subscribe to Kantata events', and Jentic returns the matching Kantata OX operation with its parameter schema so the agent calls the right endpoint without reading Kantata's docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Kantata OX API through Jentic.
Why is there no official OpenAPI spec for Kantata OX API?
Kantata does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Kantata OX 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 Kantata OX API use?
The API uses HTTP bearer tokens. Each request must include `Authorization: Bearer {token}` where the token is generated from the Kantata OX account's API settings. Through Jentic the token is stored encrypted in the vault and scoped per agent execution, so the raw bearer never appears in the agent's context.
Can I disable a former employee's account membership programmatically?
Yes. POST /account_memberships/{id}/disable disables a membership without deleting historical time, expense, and assignment data. Use the matching /account_memberships/{id}/enable endpoint to reverse the change if the person rejoins.
What are the rate limits for the Kantata OX API?
The platform applies per-account throttling and returns HTTP 429 when bursts exceed the contract limit. Exact ceilings depend on the customer's Kantata plan - check with your account manager before scaling automation traffic, and use /subscribed_events instead of polling to stay well under the limit.
How do I subscribe to Kantata events through Jentic?
Run `pip install jentic` and search Jentic for 'subscribe to Kantata events'. Jentic returns the schema for POST /subscribed_events; supply the event type from /subscribed_events/event_types and a target webhook URL, then execute to register.
Why does the Kantata OX API live on api.mavenlink.com?
Kantata OX was previously called Mavenlink. The product rebranded but the API host did not change to preserve existing integrations, so the base URL remains https://api.mavenlink.com/api/v1. All v1 endpoints are first-class on the current Kantata OX product.
Is the Kantata OX API included in every plan?
API access is included in Kantata OX paid plans but not surfaced in trial accounts. Enterprise customers can request additional rate-limit headroom and event subscriptions through their account manager.
Can I limit what my agent is allowed to do with the Kantata OX API?
Yes. Jentic One is self-hosted, so your own rules decide which Kantata OX operations and credentials the agent may use. Because the membership id sits in the URL path (/account_memberships/{id}), you can pin the agent to one account membership for reads and updates, and you choose which operations it can call. A state-changing operation like disabling a membership via POST /account_memberships/{id}/disable is not available to the agent unless you add it.
Know of an official OpenAPI document? Contribute it →
For Agents
Manage projects, users, custom fields, time entries, expenses, and account memberships inside a Kantata OX professional services workspace. 52 endpoints covering the full PSA workflow.
Use for: I need to add a new user to a Kantata account, Update a custom field on an active project, Subscribe to project-updated events for downstream automation, List all account memberships filtered by role
Not supported: Does not handle external CRM contact storage, accounting ledgers, or payroll runs - use for Kantata OX project, membership, custom field, rate, and event management only.
Jentic publishes the only available OpenAPI specification for Kantata OX API, keeping it validated and agent-ready. Kantata OX (formerly Mavenlink) is a professional services automation platform whose API exposes projects, users, custom fields, time entries, expenses, organisations, account memberships, rates, roles and skills, and event subscriptions. It is used by services firms to automate resource planning, time and expense capture, and client-billing workflows. Despite the rebrand the API still serves from api.mavenlink.com/api/v1.