How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Matomo UsersManager API

The Matomo UsersManager API exposes 32 operations of the Matomo Reporting API (module `UsersManager`). User and permission administration — create, invite, update and delete Matomo users, assign per-site roles and capabilities, and mint app-specific auth tokens. Every operation is dispatched through the single `/index.php?module=API&method=UsersManager.` entrypoint on the customer's own Matomo instance, self-hosted or on Matomo Cloud. The OpenAPI 3.1.0 document is Matomo's own, generated by its first-party ApiReference plugin.

Matomo UsersManager API is one of 61 APIs that Matomo publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Analytics, User Management, Permissions, and Access Control. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 32 operations across 32 paths, and defines 4 schemas. It is described by OpenAPI 3.1.0, at version 1.0.0.

Requests are made against a single base URL, https://demo-proxy.innocraft.cloud/.

32 operations 32 paths 4 schemas 32 GET

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.0
Base URL
https://{matomo_host}/index.php
Authentication
HTTP Bearer
Resource Areas
1

Authentication & Security 1

Matomo UsersManager API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (MatomoToken). By default, every request must be authenticated.

  • MatomoToken — Paste your token generated from Personal Security. Swagger will send it as a Bearer token.

Paths & Operations 32

Across 32 paths, the API surfaces 32 operations — 32 GET. Each is listed below with its method, path, parameters, and response codes.

UsersManager 32

The UsersManager API lets you Manage Users and their permissions to access specific websites. You can create users via "addUser", update existing users via "updateUser" and delete…

GET
/index.php?module=API&method=UsersManager.getAvailableRoles
Get the list of all available roles.
UsersManager.getAvailableRoles 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getAvailableCapabilities
Get the list of all available capabilities.
UsersManager.getAvailableCapabilities 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.setUserPreference
Sets a supported UsersManager preference for a user.
UsersManager.setUserPreference 4 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUserPreference
Returns a supported UsersManager preference for a user.
UsersManager.getUserPreference 3 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersPlusRole
Returns all users with their role for $idSite.
UsersManager.getUsersPlusRole 7 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsers
Returns users visible to the current requester.
UsersManager.getUsers 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersLogin
Returns the login names of all users visible to the current requester.
UsersManager.getUsersLogin 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersSitesFromAccess
Returns the site IDs where each user has the requested access entry.
UsersManager.getUsersSitesFromAccess 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersAccessFromSite
Returns one access entry per visible user for the requested site.
UsersManager.getUsersAccessFromSite 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersWithSiteAccess
Returns users who have the requested access entry for a website.
UsersManager.getUsersWithSiteAccess 3 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getSitesAccessFromUser
Returns the raw site access entries assigned to a user.
UsersManager.getSitesAccessFromUser 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getSitesAccessForUser
Returns site access rows for a non-superuser, with filtering and pagination.
UsersManager.getSitesAccessForUser 6 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUser
Returns one user's metadata as visible to the requester.
UsersManager.getUser 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUserByEmail
Returns one user's metadata for the given email address.
UsersManager.getUserByEmail 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.addUser
Creates a new user account.
UsersManager.addUser 7 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.inviteUser
Invites a new user by email and grants initial access to a website.
UsersManager.inviteUser 6 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.setSuperUserAccess
Enable or disable Super user access to the given user login. Note: When granting Super User access all previous permissions of the user will be removed as the user gains access to everything.
UsersManager.setSuperUserAccess 4 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.hasSuperUserAccess
Detect whether the current user has super user access or not.
UsersManager.hasSuperUserAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUsersHavingSuperUserAccess
Returns all users that currently have super user access.
UsersManager.getUsersHavingSuperUserAccess 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.updateUser
Updates a user in the database.
UsersManager.updateUser 6 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.deleteUser
Deletes a user account and all of its access assignments.
UsersManager.deleteUser 3 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.logoutUser
Signs a user out of all active sessions. Requires super user access.
UsersManager.logoutUser 3 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.userExists
Returns whether the given login exists.
UsersManager.userExists 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.userEmailExists
Returns whether a user with the given email exists.
UsersManager.userEmailExists 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.getUserLoginFromUserEmail
Returns the login name for an existing user with the given email address.
UsersManager.getUserLoginFromUserEmail 2 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.setUserAccess
Sets access entries for a user across one or more websites.
UsersManager.setUserAccess 5 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.addCapabilities
Adds the given capabilities to the given user for the given sites.
UsersManager.addCapabilities 4 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.removeCapabilities
Removes the given capabilities from the given user for the given sites.
UsersManager.removeCapabilities 4 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.createAppSpecificTokenAuth
Generates a new app-specific API token for a user.
UsersManager.createAppSpecificTokenAuth 7 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.newsletterSignup
Signs the current user up for the Matomo newsletter.
UsersManager.newsletterSignup 1 param → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.resendInvite
Resends an existing user invitation email.
UsersManager.resendInvite 4 params → 200400401403404500default
GET
/index.php?module=API&method=UsersManager.generateInviteLink
Generates a fresh invitation link for an existing pending user.
UsersManager.generateInviteLink 4 params → 200400401403404500default

Schemas 4

The contract defines 4 schemas that model the data the API accepts and returns. The most detailed are Error (3 properties), GenericSuccess (3 properties), ErrorXml (1 property), GenericSuccessXml (1 property). Each schema is shown below with its type and property counts.

GenericSuccess
object
Generic Matomo success payload.
3 properties 2 required
GenericSuccessXml
object
Generic Matomo success payload in XML.
1 property 1 required
Error
object
Generic Matomo error payload.
3 properties 2 required
ErrorXml
object
Generic Matomo error payload in XML.
1 property

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

matomo-users-manager-openapi.json Raw ↑

Other APIs Matomo publishes across the network.

Matomo Live API
Matomo Goals API
Matomo Segments API
Matomo Reporting API (index.php entrypoint)
Matomo Tracking API (matomo.php entrypoint)
Matomo SitesManager API
Matomo TagManager API
Matomo CrashAnalytics API
Matomo HeatmapSessionRecording API
Matomo FormAnalytics API
Matomo Referrers API
Matomo Funnels API
Where this information came from

This is an independent, third-party profile of Matomo UsersManager API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.