Makini
v4 (Latest)
  • v4 (Latest)
  • v3 (Legacy)
User Guide
API ReferenceMCPPlatforms
User Guide
API ReferenceMCPPlatforms
Website
v4 (Latest)
  • v4 (Latest)
  • v3 (Legacy)
v4 (Latest)
  • v4 (Latest)
  • v3 (Legacy)
  1. Management API
  • Getting Started
    • On-premise systems
    • Authentication
    • Testing with API Tools
    • Account setup
    • Connection Credits
  • Core Concepts
    • Connections
    • Unified Data Model
    • Custom mappings
    • Data mappings
    • Sync schedules and history
  • Admin API
  • Account & Team
    • Team access and SSO
  • Makini Link
    • Embedded connection settings
    • Launching Makini Link
    • Magic links
  • Management API
    • Management API authentication
    • Managing connections
    • Managing your application
  • Webhooks
    • Signatures and retries
    • Webhook events
  • Working with the API
    • Access tokens
    • Errors
    • Filtering
    • Makini Query Language
    • Raw data and passthrough
    • Reading data
    • Relations and expand
    • Writing data
  1. Management API

Management API authentication

The Management API lets your backend manage your Makini account: connections, mappings, embed forms, your application's own settings, MCP tenants and more. It authenticates with the OAuth 2.0 client credentials grant, a server-to-server flow with no user in the loop.
Use it when your own backend acts on your account. When your end users connect their systems, use Makini Link instead.

Get your client credentials#

Open Settings → Application in the dashboard. Copy the Client ID, and click Generate secret to create a client secret. The secret is shown once, so store it right away.
Keep the client secret on your server. Never put it in browser code, mobile apps or public repositories.

Request a token#

Send a form-encoded POST to the token endpoint. Pass your credentials with HTTP Basic authentication, or as client_id and client_secret form fields, but not both.
HTTP Basic
Form fields
The token endpoint accepts only application/x-www-form-urlencoded bodies. The response:
{
  "access_token": "eyJhbGciOiJSUzI1NiIs...",
  "token_type": "Bearer",
  "expires_in": 3600,
  "scope": "connections:read connections:write clients:read clients:write mcp:provider:manage"
}
FieldDescription
access_tokenThe bearer token for Management API requests.
token_typeAlways Bearer.
expires_inSeconds until the token expires: one hour.
scopeThe scopes the token carries.
There is no refresh token. When the token expires, request a new one the same way.

Scopes#

ScopeGrants
connections:readRead your connections.
connections:writeCreate and change your connections.
clients:readRead your application's own registration and its embed forms.
clients:writeGenerate a client secret, and change your redirect URIs and embed forms.
mcp:provider:manageManage your customers and their MCP users in provider mode.
A token carries all of your application's scopes by default. To follow least privilege, pass a space-separated scope parameter with only the scopes a service needs:

Make requests#

The Management API lives under https://api.makini.io/mgmt. Send the token in the Authorization header:
This lists your connections and needs connections:read.
A Management API token manages your account. To read or write a connection's data on /v4, use that connection's own token. See Authentication.

Errors#

The token endpoint answers with the standard OAuth error body, {error, error_description}:
StatuserrorCause
401invalid_clientThe client ID or secret is wrong or missing.
400unsupported_grant_typeThe grant_type isn't one Makini supports.
400invalid_scopeThe scope parameter asks for a scope your application doesn't have.
400invalid_requestThe body isn't form-encoded, or a parameter is missing or repeated.
An expired or missing token on a Management API request answers 401.
Modified at 2026-10-16 14:20:56
Previous
Magic links
Next
Managing connections
Built with