Kiwili API Documentation
This is the complete API documentation for connecting to the Kiwili API using MindCloud's Universal API. If you are new to MindCloud, start with the Introduction to see how one API can sit in front of many different apps.
MindCloud is an integration company that offers one normalized API to access 3,100+ apps from a single place. It cleans up provider-specific quirks, keeps requests and responses consistent, and centralizes authentication so you do not need to manage separate flows for every app. Browse other apps.
Meet Kiwili: Kiwili is an ERP and business management platform for small businesses, covering enterprises, contacts, invoices, expenses, projects, time, products, services, and related finance operations. Keep reading to get started.
Quickstart
Before you run your first Kiwili request, you need three things:
- A MindCloud account — sign in or create an account at MindCloud.
- A MindCloud API Key — create one in API Keys. Keep it on your server.
- At least one Kiwili connection — create or choose one in Connections. Note its
connectionId.
Every Kiwili action uses the same URL pattern:
https://connect.mindcloud.co/v1/universal/kiwili/latest/actions/{actionSlug}You need a MindCloud API Key and a Kiwili connection. Then call an action such as Get Accounting Code Details:
curl --request GET \
--url "https://connect.mindcloud.co/v1/universal/kiwili/latest/actions/get-accounting-code-details" \
--header "Authorization: Bearer $MINDCLOUD_API_KEY" \
--get \
--data-urlencode "connectionId=$CONNECTION_ID"Every response comes back in the same envelope, with your rows in a data array:
{
"success": true,
"data": [
{ "id": "1042", "name": "Ava" }
],
"meta": {}
}After your first request works, use Shape your requests to control arguments, pagination, filtering, fields, and errors.
Authentication
Authentication has two layers. Your MindCloud API Key authenticates the request to MindCloud, sent as a Bearer token in the Authorization header. The connectionId selects the connected Kiwili account that should run the action. MindCloud stores and refreshes the Kiwili credentials behind that connection, so you never send provider tokens with your requests.
Pass connectionId in the query string for GET and DELETE actions, and in the JSON body for POST, PUT, and PATCH actions. Keep your MindCloud API Key on your server; do not ship it in browser code, mobile apps, public repositories, or logs.
Kiwili actions
All 54 published actions for this Kiwili version. Each page documents the endpoint, arguments, and response controls.
- POSTCreate Contact
- POSTCreate Enterprise
- POSTCreate Product
- POSTCreate Project
- POSTCreate Service
- POSTCreate Task
- DELETEDelete Contact
- DELETEDelete Enterprise
- DELETEDelete Product
- DELETEDelete Service
- GETGet Accounting Code Details
- GETGet Bank Account Details
- GETGet Company Details
- GETGet Contact Details
- GETGet Currency Details
- GETGet Enterprise Details
- GETGet Estimate Details
- GETGet Expense Details
- GETGet Invoice Details
- GETGet Invoice Payment Details
- GETGet Payment Type Details
- GETGet Product Details
- GETGet Project Details
- GETGet Purchase Order Details
- GETGet Service Details
- GETGet Task Details
- GETGet Tax Profile Details
- GETGet Time Entry Details
- GETGet User Details
- GETList Accounting Codes
- GETList Bank Accounts
- GETList Companies
- GETList Contacts
- GETList Currencies
- GETList Enterprises
- GETList Estimates
- GETList Expenses
- GETList Invoice Payments
- GETList Invoices
- GETList Payment Types
- GETList Products
- GETList Projects
- GETList Purchase Orders
- GETList Services
- GETList Tasks
- GETList Tax Profiles
- GETList Time Entries
- GETList Users
- PUTUpdate Contact
- PUTUpdate Enterprise
- PUTUpdate Product
- PUTUpdate Project
- PUTUpdate Service
- PUTUpdate Task
Related apps
More apps on the Universal API, behind the same REST shape. Or browse all apps.