Matomo API

This API is the Metadata API: it gives information about all other available APIs methods, as well as providing human readable and more complete outputs than normal API methods. Some of the information that is returned by the Metadata API: the dynamically generated list of all API methods via "getReportMetadata" the list of metrics that will be returned by each method, along with their human readable name, via "getDefaultMetrics" and "getDefaultProcessedMetrics" the list of segments metadata supported by all functions that have a 'segment' parameter the (truly magic) method "getProcessedReport" will return a human readable version of any other report, and include the processed metrics such as conversion rate, time on site, etc. which are not directly available in other methods. the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first. The Metadata API is for example used by the Matomo Mobile App to automatically display all Matomo reports, with translated report & columns names and nicely formatted values. More information on the Metadata API documentation page

Operations 17

GET /index.php?module=API&method=API.getMatomoVersion #
GET /index.php?module=API&method=API.getPhpVersion #
GET /index.php?module=API&method=API.getIpFromHeader #
GET /index.php?module=API&method=API.getSegmentsMetadata #
GET /index.php?module=API&method=API.getMetadata #
GET /index.php?module=API&method=API.getReportMetadata #
GET /index.php?module=API&method=API.getProcessedReport #
GET /index.php?module=API&method=API.getReportPagesMetadata #
GET /index.php?module=API&method=API.getWidgetMetadata #
GET /index.php?module=API&method=API.get #
GET /index.php?module=API&method=API.getRowEvolution #
GET /index.php?module=API&method=API.getBulkRequest #
GET /index.php?module=API&method=API.isPluginActivated #
GET /index.php?module=API&method=API.getSuggestedValuesForSegment #
GET /index.php?module=API&method=API.getPagesComparisonsDisabledFor #
GET /index.php?module=API&method=API.getGlossaryReports #
GET /index.php?module=API&method=API.getGlossaryMetrics #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/matomo-api-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

matomo-api-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Matomo Reporting for plugin API
  version: 1.0.0
  description: 'This API is the <a href=''https://matomo.org/docs/analytics-api/metadata/'' rel=''noreferrer'' target=''_blank''>Metadata API</a>: it gives information about all other available APIs methods, as well as providing human readable and more complete outputs than normal API methods.  Some of the information that is returned by the Metadata API: <ul> <li>the dynamically generated list of all API methods via "getReportMetadata"</li> <li>the list of metrics that will be returned by each method, along with their human readable name, via "getDefaultMetrics" and "getDefaultProcessedMetrics"</li> <li>the list of segments metadata supported by all functions that have a ''segment'' parameter</li> <li>the (truly magic) method "getProcessedReport" will return a human readable version of any other report, and include the processed metrics such as conversion rate, time on site, etc. which are not directly available in other methods.</li> <li>the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first.</li> </ul> The Metadata API is for example used by the Matomo Mobile App to automatically display all Matomo reports, with translated report & columns names and nicely formatted values. More information on the <a href=''https://matomo.org/docs/analytics-api/metadata/'' rel=''noreferrer'' target=''_blank''>Metadata API documentation page</a>'
servers:
- url: https://demo-proxy.innocraft.cloud/
  description: Current Matomo instance
security:
- MatomoToken: []
tags:
- name: API
  description: 'This API is the <a href=''https://matomo.org/docs/analytics-api/metadata/'' rel=''noreferrer'' target=''_blank''>Metadata API</a>: it gives information about all other available APIs methods, as well as providing human readable and more complete outputs than normal API methods.  Some of the information that is returned by the Metadata API: <ul> <li>the dynamically generated list of all API methods via "getReportMetadata"</li> <li>the list of metrics that will be returned by each method, along with their human readable name, via "getDefaultMetrics" and "getDefaultProcessedMetrics"</li> <li>the list of segments metadata supported by all functions that have a ''segment'' parameter</li> <li>the (truly magic) method "getProcessedReport" will return a human readable version of any other report, and include the processed metrics such as conversion rate, time on site, etc. which are not directly available in other methods.</li> <li>the method "getSuggestedValuesForSegment" returns top suggested values for a particular segment. It uses the Live.getLastVisitsDetails API to fetch the most recently used values, and will return the most often used values first.</li> </ul> The Metadata API is for example used by the Matomo Mobile App to automatically display all Matomo reports, with translated report & columns names and nicely formatted values. More information on the <a href=''https://matomo.org/docs/analytics-api/metadata/'' rel=''noreferrer'' target=''_blank''>Metadata API documentation page</a>'
paths:
  /index.php?module=API&method=API.getMatomoVersion:
    get:
      tags:
      - API
      description: Returns the current Matomo version.
      operationId: API.getMatomoVersion
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      responses:
        '200':
          description: 'Matomo''s version string.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getPhpVersion:
    get:
      tags:
      - API
      description: Returns information about the PHP runtime version.
      operationId: API.getPhpVersion
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      responses:
        '200':
          $ref: '#/components/responses/GenericArray'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getIpFromHeader:
    get:
      tags:
      - API
      description: Returns the most accurate IP address available for the current user, in IPv4 format. This could be the proxy client's IP address.
      operationId: API.getIpFromHeader
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      responses:
        '200':
          description: 'IP address in presentation format.


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getSegmentsMetadata:
    get:
      tags:
      - API
      description: Returns metadata for all available segments.
      operationId: API.getSegmentsMetadata
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSites
        in: query
        description: One or more site IDs. If empty, returns metadata visible to the current user.
        required: false
        schema:
          oneOf:
          - type: array
            items:
              type: integer
            default: []
          - type: integer
          - type: string
            default: '[]'
      - name: _hideImplementationData
        in: query
        description: Whether internal implementation details should be omitted.
        required: false
        schema:
          type: boolean
          default: true
      - name: _showAllSegments
        in: query
        description: Whether to include segments that are normally hidden.
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getMetadata:
    get:
      tags:
      - API
      description: Returns metadata for a specific API method.
      operationId: API.getMetadata
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID to use when loading metadata.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      - name: apiModule
        in: query
        description: API module name.
        required: true
        schema:
          type: string
          example: VisitsSummary
      - name: apiAction
        in: query
        description: API method name without the module prefix.
        required: true
        schema:
          type: string
          example: get
      - name: apiParameters
        in: query
        description: Additional API parameters used to resolve metadata variants.
        required: false
        schema:
          type: array
          items:
            type: string
          default: []
      - name: language
        in: query
        description: Optional language code used to localize the response.
        required: false
        schema:
          type: string
      - name: period
        in: query
        description: Optional period used to resolve period-dependent metadata.
        required: false
        schema:
          type: string
      - name: date
        in: query
        description: Optional date or date range used to resolve metadata.
        required: false
        schema:
          type: string
      - name: hideMetricsDoc
        in: query
        description: Whether metric documentation should be omitted.
        required: false
        schema:
          type: boolean
          default: false
      - name: showSubtableReports
        in: query
        description: Whether subtable reports should be included.
        required: false
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getReportMetadata:
    get:
      tags:
      - API
      description: Returns metadata for all available reports.
      operationId: API.getReportMetadata
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSites
        in: query
        description: Deprecated fallback for specifying one or more site IDs.
        required: false
        schema:
          oneOf:
          - type: array
            items:
              type: integer
          - type: integer
          - type: string
            default: ''
      - name: period
        in: query
        description: Optional period used to resolve report metadata.
        required: false
        schema:
          type: string
      - name: date
        in: query
        description: Optional date or date range used to resolve report metadata.
        required: false
        schema:
          type: string
      - name: hideMetricsDoc
        in: query
        description: Whether metric documentation should be omitted.
        required: false
        schema:
          type: boolean
          default: false
      - name: showSubtableReports
        in: query
        description: Whether subtable reports should be included.
        required: false
        schema:
          type: boolean
          default: false
      - name: idSite
        in: query
        description: Preferred site ID parameter.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getProcessedReport:
    get:
      tags:
      - API
      description: Returns a processed report with metadata, formatting, and processed metrics applied.
      operationId: API.getProcessedReport
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID to query.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      - name: period
        in: query
        description: Report period.
        required: true
        schema:
          type: string
          example: day
      - name: date
        in: query
        description: Date or date range to query.
        required: true
        schema:
          type: string
          example: yesterday
      - name: apiModule
        in: query
        description: API module name.
        required: true
        schema:
          type: string
          example: VisitsSummary
      - name: apiAction
        in: query
        description: API method name without the module prefix.
        required: true
        schema:
          type: string
          example: get
      - name: segment
        in: query
        description: Optional segment expression.
        required: false
        schema:
          type: string
      - name: apiParameters
        in: query
        description: Additional API parameters forwarded to the target report.
        required: false
        schema:
          oneOf:
          - type: array
            items:
              type: string
          - type: string
      - name: idGoal
        in: query
        description: Optional goal ID.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      - name: language
        in: query
        description: Optional language code for the response.
        required: false
        schema:
          type: string
      - name: showTimer
        in: query
        description: Whether processing time information should be included.
        required: false
        schema:
          type: boolean
          default: true
      - name: hideMetricsDoc
        in: query
        description: Whether metric documentation should be omitted.
        required: false
        schema:
          type: boolean
          default: false
      - name: idSubtable
        in: query
        description: Optional subtable ID to load.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      - name: showRawMetrics
        in: query
        description: Whether raw metrics should be included alongside formatted metrics.
        required: false
        schema:
          type: boolean
          default: false
      - name: format_metrics
        in: query
        description: Optional metrics formatting mode.
        required: false
        schema:
          type: string
      - name: idDimension
        in: query
        description: Optional dimension ID.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getReportPagesMetadata:
    get:
      tags:
      - API
      description: Returns page metadata for the Matomo UI, including the widgets shown on each page.
      operationId: API.getReportPagesMetadata
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID used for the access check.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getWidgetMetadata:
    get:
      tags:
      - API
      description: Returns metadata for all widgets that can be displayed in the UI.
      operationId: API.getWidgetMetadata
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID used for the access check.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.get:
    get:
      tags:
      - API
      description: Returns a combined report built from the `*.get` API methods of other plugins.
      operationId: API.get
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID to query.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      - name: period
        in: query
        description: Report period.
        required: true
        schema:
          type: string
          example: day
      - name: date
        in: query
        description: Date or date range to query.
        required: true
        schema:
          type: string
          example: yesterday
      - name: segment
        in: query
        description: Optional segment expression.
        required: false
        schema:
          type: string
      - name: columns
        in: query
        description: Optional metric names to keep in the combined result.
        required: false
        schema:
          oneOf:
          - type: array
            items:
              type: string
          - type: string
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getRowEvolution:
    get:
      tags:
      - API
      description: Returns an evolution series for a specific report row or metric label.
      operationId: API.getRowEvolution
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID to query.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      - name: period
        in: query
        description: Period to calculate the evolution for.
        required: true
        schema:
          type: string
          example: day
      - name: date
        in: query
        description: Date or date range to query.
        required: true
        schema:
          type: string
          example: yesterday
      - name: apiModule
        in: query
        description: API module name.
        required: true
        schema:
          type: string
          example: VisitsSummary
      - name: apiAction
        in: query
        description: API method name without the module prefix.
        required: true
        schema:
          type: string
          example: get
      - name: label
        in: query
        description: Optional row label to track.
        required: false
        schema:
          type: string
      - name: segment
        in: query
        description: Optional segment expression.
        required: false
        schema:
          type: string
      - name: column
        in: query
        description: Optional metric column to use.
        required: false
        schema:
          type: string
      - name: language
        in: query
        description: Optional language code for the response.
        required: false
        schema:
          type: string
      - name: idGoal
        in: query
        description: Optional goal ID.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      - name: legendAppendMetric
        in: query
        description: Whether to append the metric name to the legend.
        required: false
        schema:
          type: string
      - name: labelUseAbsoluteUrl
        in: query
        description: Whether labels that are URLs should be normalized to absolute URLs.
        required: false
        schema:
          type: string
      - name: idDimension
        in: query
        description: Optional dimension ID.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      - name: labelSeries
        in: query
        description: Optional custom series label.
        required: false
        schema:
          type: string
      - name: showGoalMetricsForGoal
        in: query
        description: Optional goal ID whose goal metrics should be included.
        required: false
        schema:
          oneOf:
          - type: integer
          - type: string
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getBulkRequest:
    get:
      tags:
      - API
      description: Performs multiple API requests at once and returns every result.
      operationId: API.getBulkRequest
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: urls
        in: query
        description: API query strings to execute.
        required: true
        schema:
          type: array
          items:
            type: string
          example:
          - https:\/\/example.org
          - https:\/\/example.org\/pricing
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.isPluginActivated:
    get:
      tags:
      - API
      description: Returns whether a plugin is currently activated.
      operationId: API.isPluginActivated
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: pluginName
        in: query
        description: Plugin name to check.
        required: true
        schema:
          type: string
          example: Goals
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getSuggestedValuesForSegment:
    get:
      tags:
      - API
      description: Returns suggested values for a segment based on recent data or a segment-specific callback.
      operationId: API.getSuggestedValuesForSegment
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: segmentName
        in: query
        description: Segment name to suggest values for.
        required: true
        schema:
          type: string
          example: New Zealand visitors
      - name: idSite
        in: query
        description: Site ID to query, or `'all'` for all sites where supported.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getPagesComparisonsDisabledFor:
    get:
      tags:
      - API
      description: Returns category/subcategory pairs as "CategoryId.SubcategoryId" for whom comparison features should be disabled.
      operationId: API.getPagesComparisonsDisabledFor
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getGlossaryReports:
    get:
      tags:
      - API
      description: Returns glossary entries for all reports.
      operationId: API.getGlossaryReports
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID used for the access check.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
  /index.php?module=API&method=API.getGlossaryMetrics:
    get:
      tags:
      - API
      description: Returns glossary entries for all metrics.
      operationId: API.getGlossaryMetrics
      parameters:
      - $ref: '#/components/parameters/formatOptional'
      - name: idSite
        in: query
        description: Site ID used for the access check.
        required: true
        schema:
          oneOf:
          - type: integer
            example: 1
          - type: string
            example: '1'
      responses:
        '200':
          description: 'OK


            Example responses require Super User access. Use Try it out to see a live response.'
          content:
            text/xml: []
            application/json: []
            application/vnd.ms-excel: []
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
        default:
          $ref: '#/components/responses/DefaultError'
components:
  responses:
    NotFound:
      description: Resource not found.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: The method is not available.'
        text/html:
          schema:
            type: string
          example: The method is not available.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    ServerError:
      description: Unexpected server error.
      content:
        text/plain:
          schema:
            type: string
          example: 'Error: There was an error.'
        text/html:
          schema:
            type: string
          example: There was an error.
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
        application/xml:
          schema:
            $ref: '#/components/schemas/ErrorXml'
    Unauthorized:
      description: Authentication failed or missing token.
      content:
        text/plain:
          schema:
            

# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/matomo/refs/heads/main/openapi/matomo-api-api-openapi.yml