Matomo · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Matomo Reporting API for plugin Sites Manager API

54 actions 54 updates phrasing extends openapi/matomo-sitesmanager-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Matomo's API. It is a proposal applied on top of the contract, not a document Matomo publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 54 · first 16 shown; the file carries all of them

$.info
$.paths['/index.php?module=API&method=SitesManager.getJavascriptTag'].get
$.paths['/index.php?module=API&method=SitesManager.getImageTrackingCode'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesFromGroup'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesGroups'].get
$.paths['/index.php?module=API&method=SitesManager.getSiteFromId'].get
$.paths['/index.php?module=API&method=SitesManager.getSiteUrlsFromId'].get
$.paths['/index.php?module=API&method=SitesManager.getAllSites'].get
$.paths['/index.php?module=API&method=SitesManager.getAllSitesId'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesWithAdminAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesWithMinimumAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesWithViewAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesWithAtLeastViewAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesIdWithAdminAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesIdWithViewAccess'].get
$.paths['/index.php?module=API&method=SitesManager.getSitesIdWithWriteAccess'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Matomo Reporting API for plugin Sites Manager API
  version: 1.0.0
extends: openapi/matomo-sitesmanager-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 53
- target: $.paths['/index.php?module=API&method=SitesManager.getJavascriptTag'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the JavaScript tracking tag for a website
      effect: read
      questions:
      - Where do I get the JavaScript tracking snippet to paste into my website?
      - Can the generated tracking code disable cookies or respect Do Not Track?
      - Is it possible to get a tracking tag that tracks visitors across my subdomains as one site?
      instructions:
      - text: Give me the JavaScript tracking code for site {idSite}.
        slots:
          idSite: query.idSite
      - text: Generate the tracking snippet for site {idSite} with cookies disabled set to {disableCookies}.
        slots:
          idSite: query.idSite
          disableCookies: query.disableCookies
      - text: Build the JS tag for site {idSite} that honours Do Not Track ({doNotTrack}) and includes a noscript fallback ({trackNoScript}).
        slots:
          idSite: query.idSite
          doNotTrack: query.doNotTrack
          trackNoScript: query.trackNoScript
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getImageTrackingCode'].get
  update:
    x-apievangelist-phrasing:
      intent: Get image pixel tracking code for a website
      effect: read
      questions:
      - How can I track visits on pages where JavaScript can't run, like in an email?
      - Can an image tracking pixel record a goal conversion with revenue?
      instructions:
      - text: Generate the image tracking pixel for site {idSite}.
        slots:
          idSite: query.idSite
      - text: Create an image tracking link for site {idSite} that records goal {idGoal} with revenue {revenue}.
        slots:
          idSite: query.idSite
          idGoal: query.idGoal
          revenue: query.revenue
      - text: Give me the pixel code for site {idSite} labelled with the action name {actionName}.
        slots:
          idSite: query.idSite
          actionName: query.actionName
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesFromGroup'].get
  update:
    x-apievangelist-phrasing:
      intent: List the websites in a site group
      effect: read
      questions:
      - Which of my tracked websites belong to a particular group?
      - Can I see every site that's been filed under one website group?
      instructions:
      - text: List all websites in the group {group}.
        slots:
          group: query.group
      - text: Show me the sites assigned to the {group} website group.
        slots:
          group: query.group
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesGroups'].get
  update:
    x-apievangelist-phrasing:
      intent: List website group names
      effect: read
      questions:
      - What website groups exist in my Matomo instance?
      - Which group names are my sites organised under, including ungrouped ones?
      instructions:
      - text: List all website group names.
      - text: Show me every site group currently in use, including the empty group.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSiteFromId'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the details of one website
      effect: read
      questions:
      - What timezone and currency is a specific tracked website configured with?
      - How do I look up the name and main URL of a website by its ID?
      instructions:
      - text: Get the details of site {idSite}.
        slots:
          idSite: query.idSite
      - text: Show me the name, main URL, timezone and currency for website {idSite}.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSiteUrlsFromId'].get
  update:
    x-apievangelist-phrasing:
      intent: List all URLs registered for a website
      effect: read
      questions:
      - Which alias URLs are registered on a website besides its main URL?
      - What domains count as part of one tracked site?
      instructions:
      - text: List every URL registered for site {idSite}, main and aliases.
        slots:
          idSite: query.idSite
      - text: Show me the main URL plus alias domains of website {idSite}.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getAllSites'].get
  update:
    x-apievangelist-phrasing:
      intent: List all websites with their details
      effect: read
      questions:
      - How do I get a full list of every website tracked in Matomo with its settings?
      - Can I export all my websites' records in one call?
      instructions:
      - text: List all websites in the instance with their full details.
      - text: Fetch the complete record for every tracked website.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getAllSitesId'].get
  update:
    x-apievangelist-phrasing:
      intent: List the IDs of all websites
      effect: read
      questions:
      - What are the numeric IDs of all the websites registered?
      - Can I get just the site IDs without the rest of the site details?
      instructions:
      - text: Give me the IDs of every registered website.
      - text: Return only the site ID numbers for all websites.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesWithAdminAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List websites I have admin access to
      effect: read
      questions:
      - Which websites can I administer with my current account?
      - Can I filter the sites I'm an admin of by a name pattern?
      instructions:
      - text: List the websites where I have admin access.
      - text: Show up to {limit} sites I administer whose name matches {pattern}.
        slots:
          limit: query.limit
          pattern: query.pattern
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesWithMinimumAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List websites at or above a permission level
      effect: read
      questions:
      - Which sites do I have at least write permission on?
      - Can I list websites by the minimum access level my user holds on them?
      instructions:
      - text: List the websites where I have at least {permission} access.
        slots:
          permission: query.permission
      - text: Find sites matching {pattern} where my access is {permission} or higher.
        slots:
          pattern: query.pattern
          permission: query.permission
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesWithViewAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List websites I have view-only access to
      effect: read
      questions:
      - Which websites am I only allowed to view, not manage?
      - What sites have I been granted view access on?
      instructions:
      - text: List the websites where my access is view only.
      - text: Show the full site records I can view but not administer.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesWithAtLeastViewAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List all websites I can at least view
      effect: read
      questions:
      - What is every website I can see reports for, whether as viewer or admin?
      - Can I cap the number of sites returned when listing everything I can access?
      instructions:
      - text: List every website I can view or administer.
      - text: Show the first {limit} sites I have view or admin access on.
        slots:
          limit: query.limit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesIdWithAdminAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List IDs of websites I administer
      effect: read
      questions:
      - What are the site IDs of the websites where I'm an admin?
      - Can I get only the IDs of my admin-access sites?
      instructions:
      - text: Return the site IDs where I hold admin access.
      - text: Give me just the ID numbers of websites I administer.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesIdWithViewAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List IDs of websites I can only view
      effect: read
      questions:
      - Which site IDs do I have view-level access to?
      - Can I get the IDs of the sites shared with me as read-only?
      instructions:
      - text: Return the IDs of sites where I have view access.
      - text: List the website ID numbers shared with me read-only.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesIdWithWriteAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List IDs of websites I have write access to
      effect: read
      questions:
      - Which site IDs am I allowed to write to?
      - What websites does my user have write permission on, by ID?
      instructions:
      - text: Return the IDs of sites where I have write access.
      - text: List website ID numbers I can edit with write permission.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesIdWithAtLeastViewAccess'].get
  update:
    x-apievangelist-phrasing:
      intent: List IDs of every website I can access
      effect: read
      questions:
      - What are the IDs of all sites I can see, as viewer or admin combined?
      - Can I get one ID list covering both view and admin access?
      instructions:
      - text: Return all site IDs I have view or admin access on.
      - text: Give me a single ID list of every website I'm able to open.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSitesIdFromSiteUrl'].get
  update:
    x-apievangelist-phrasing:
      intent: Find website IDs by URL
      effect: read
      questions:
      - Which tracked site does a given URL belong to?
      - How do I find the site ID for a domain I already track?
      instructions:
      - text: Find the site IDs registered for the URL {url}.
        slots:
          url: query.url
      - text: Look up which website ID owns {url}.
        slots:
          url: query.url
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.addSite'].get
  update:
    x-apievangelist-phrasing:
      intent: Add a new website to track
      effect: write
      questions:
      - How do I start tracking a new website in Matomo?
      - Can I set the timezone, currency and ecommerce option when creating a site?
      - Is it possible to register several URLs for a site while adding it?
      instructions:
      - text: Add a new website called {siteName} with URL {urls}.
        slots:
          siteName: query.siteName
          urls: query.urls
      - text: Create site {siteName} in timezone {timezone} using currency {currency} with ecommerce set to {ecommerce}.
        slots:
          siteName: query.siteName
          timezone: query.timezone
          currency: query.currency
          ecommerce: query.ecommerce
      - text: Register a new site {siteName} in group {group} that excludes IPs {excludedIps}.
        slots:
          siteName: query.siteName
          group: query.group
          excludedIps: query.excludedIps
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSiteSettings'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a website's editable settings metadata
      effect: read
      questions:
      - Which settings can be edited on a particular website?
      - What measurable settings does a site expose for configuration?
      instructions:
      - text: Show the editable settings metadata for site {idSite}.
        slots:
          idSite: query.idSite
      - text: List the configurable measurable settings of website {idSite}.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.deleteSite'].get
  update:
    x-apievangelist-phrasing:
      intent: Delete a website
      effect: destructive
      questions:
      - How do I permanently remove a website from Matomo?
      - Does deleting a site require confirming my password?
      instructions:
      - text: Delete website {idSite}.
        slots:
          idSite: query.idSite
      - text: Remove site {idSite} from the database, confirming with password {passwordConfirmation}.
        slots:
          idSite: query.idSite
          passwordConfirmation: query.passwordConfirmation
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.addSiteAliasUrls'].get
  update:
    x-apievangelist-phrasing:
      intent: Add alias URLs to a website
      effect: write
      questions:
      - How can I add another domain to an existing site without removing the current ones?
      - Can I append extra alias URLs to a website?
      instructions:
      - text: Add the alias URLs {urls} to site {idSite}.
        slots:
          urls: query.urls
          idSite: query.idSite
      - text: Append {urls} as additional domains on website {idSite}, keeping existing aliases.
        slots:
          urls: query.urls
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setSiteAliasUrls'].get
  update:
    x-apievangelist-phrasing:
      intent: Replace a website's alias URLs
      effect: write
      questions:
      - How do I overwrite the whole list of alias domains for a site?
      - Can I clear out old alias URLs and set a fresh list?
      instructions:
      - text: Replace the alias URLs of site {idSite} with {urls}.
        slots:
          idSite: query.idSite
          urls: query.urls
      - text: Reset website {idSite} so its only alias domains are {urls}.
        slots:
          idSite: query.idSite
          urls: query.urls
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getIpsForRange'].get
  update:
    x-apievangelist-phrasing:
      intent: Get start and end IPs for an IP range
      effect: read
      questions:
      - What are the first and last addresses in an IP range I want to exclude?
      - Can I check how a CIDR or wildcard range expands into IP bounds?
      instructions:
      - text: Give me the start and end IP addresses of the range {ipRange}.
        slots:
          ipRange: query.ipRange
      - text: Expand {ipRange} into its lowest and highest IP.
        slots:
          ipRange: query.ipRange
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setGlobalExcludedIps'].get
  update:
    x-apievangelist-phrasing:
      intent: Set IPs excluded from tracking on all sites
      effect: write
      questions:
      - How do I stop my office IPs from being tracked on every website at once?
      - Can globally excluded IP addresses use wildcards?
      instructions:
      - text: Exclude the IPs {excludedIps} from tracking on all websites.
        slots:
          excludedIps: query.excludedIps
      - text: Set the global IP exclusion list to {excludedIps}.
        slots:
          excludedIps: query.excludedIps
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setGlobalSearchParameters'].get
  update:
    x-apievangelist-phrasing:
      intent: Set global site search parameter names
      effect: write
      questions:
      - How do I tell Matomo which URL parameters hold my internal search keyword and category?
      - Can I set default site search parameters for sites that haven't defined their own?
      instructions:
      - text: Set the global site search keyword parameters to {searchKeywordParameters} and category parameters to {searchCategoryParameters}.
        slots:
          searchKeywordParameters: query.searchKeywordParameters
          searchCategoryParameters: query.searchCategoryParameters
      - text: Use {searchKeywordParameters} as the default search keyword param and {searchCategoryParameters} for category everywhere.
        slots:
          searchKeywordParameters: query.searchKeywordParameters
          searchCategoryParameters: query.searchCategoryParameters
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSearchKeywordParametersGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: Get global site search keyword parameters
      effect: read
      questions:
      - Which URL parameters are treated as the search keyword by default across sites?
      - What global keyword parameter names is site search using?
      instructions:
      - text: Show the global site search keyword parameter names.
      - text: List the default query parameters read as internal search keywords.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getSearchCategoryParametersGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: Get global site search category parameters
      effect: read
      questions:
      - Which URL parameters are read as the search category by default?
      - What global category parameter names does site search use?
      instructions:
      - text: Show the global site search category parameter names.
      - text: List the default query parameters read as internal search categories.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedQueryParameters'].get
  update:
    x-apievangelist-phrasing:
      intent: List URL parameters excluded for one website
      effect: read
      questions:
      - Which query string parameters are stripped from page URLs on a specific site?
      - What URL parameters does one website ignore when recording pageviews?
      instructions:
      - text: List the excluded URL query parameters for site {idSite}.
        slots:
          idSite: query.idSite
      - text: Show which query string params website {idSite} strips from tracked URLs.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedQueryParametersGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: List URL parameters excluded on all websites
      effect: read
      questions:
      - Which query parameters are excluded globally from every site's URLs?
      - What is the instance-wide list of ignored URL parameters?
      instructions:
      - text: List the URL query parameters excluded from all websites.
      - text: Show the global query parameter exclusions, in the context of site {idSite}.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedUserAgentsGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: List user agents excluded on all websites
      effect: read
      questions:
      - Which user agent strings cause visits to be ignored across all sites?
      - What bots or user agents are currently excluded globally?
      instructions:
      - text: Show the global list of excluded user agent substrings.
      - text: List the user agents whose visits are dropped on every site.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setGlobalExcludedUserAgents'].get
  update:
    x-apievangelist-phrasing:
      intent: Set user agents excluded on all websites
      effect: write
      questions:
      - How do I exclude visits from a specific crawler's user agent across every site?
      - Can I replace the global user agent exclusion list?
      instructions:
      - text: Exclude visits whose user agent contains {excludedUserAgents} on all sites.
        slots:
          excludedUserAgents: query.excludedUserAgents
      - text: Set the global excluded user agents to {excludedUserAgents}.
        slots:
          excludedUserAgents: query.excludedUserAgents
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedReferrers'].get
  update:
    x-apievangelist-phrasing:
      intent: List referrers ignored for one website
      effect: read
      questions:
      - Which hosts are ignored as referrers on a particular website?
      - What referring domains does one site not count as traffic sources?
      instructions:
      - text: List the excluded referrers for site {idSite}.
        slots:
          idSite: query.idSite
      - text: Show the hosts website {idSite} ignores when detecting referrers.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedReferrersGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: List referrers ignored on all websites
      effect: read
      questions:
      - Which referrer hosts are ignored globally across every site?
      - What is the instance-wide excluded referrer list?
      instructions:
      - text: Show the global list of excluded referrer hosts.
      - text: List referring URLs ignored across all websites.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setGlobalExcludedReferrers'].get
  update:
    x-apievangelist-phrasing:
      intent: Set referrers ignored on all websites
      effect: write
      questions:
      - How do I stop a payment gateway domain from showing up as a referrer on every site?
      - Can I set one excluded referrer list for the whole instance?
      instructions:
      - text: Ignore {excludedReferrers} as referrers on all websites.
        slots:
          excludedReferrers: query.excludedReferrers
      - text: Set the global excluded referrer list to {excludedReferrers}.
        slots:
          excludedReferrers: query.excludedReferrers
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getKeepURLFragmentsGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: Check whether URL fragments are kept by default
      effect: read
      questions:
      - Does Matomo keep the hash fragment of URLs by default when tracking?
      - Is the global keep-URL-fragments setting turned on?
      instructions:
      - text: Check whether URL fragments are kept by default.
      - text: 'Tell me the global setting for keeping #fragments in tracked URLs.'
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setKeepURLFragmentsGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: Set whether URL fragments are kept by default
      effect: write
      questions:
      - How do I make tracking keep the part of the URL after the hash for all sites?
      - Can I turn off keeping URL fragments globally?
      instructions:
      - text: Set keeping URL fragments by default to {enabled}.
        slots:
          enabled: query.enabled
      - text: Turn the global keep-#fragment behaviour {enabled}.
        slots:
          enabled: query.enabled
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExcludedIpsGlobal'].get
  update:
    x-apievangelist-phrasing:
      intent: List IPs excluded on all websites
      effect: read
      questions:
      - Which IP addresses are excluded from tracking across every website?
      - What is the current global IP exclusion list?
      instructions:
      - text: Show the IPs excluded from all websites.
      - text: List the global IP address exclusions.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getDefaultCurrency'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the default currency for new websites
      effect: read
      questions:
      - What currency do newly created sites get by default?
      - Which default currency is applied when adding a website through the API?
      instructions:
      - text: Show the default currency for new websites.
      - text: Tell me which currency new sites are created with.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setDefaultCurrency'].get
  update:
    x-apievangelist-phrasing:
      intent: Set the default currency for new websites
      effect: write
      questions:
      - How do I change the currency new websites start with?
      - Can I make euros the default currency for sites I create later?
      instructions:
      - text: Set the default currency for new websites to {defaultCurrency}.
        slots:
          defaultCurrency: query.defaultCurrency
      - text: Make {defaultCurrency} the currency future sites are created with.
        slots:
          defaultCurrency: query.defaultCurrency
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getDefaultTimezone'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the default timezone for new websites
      effect: read
      questions:
      - What timezone do newly created sites get by default?
      - Which default timezone is applied when adding a website through the API?
      instructions:
      - text: Show the default timezone for new websites.
      - text: Tell me which timezone new sites are created in.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setDefaultTimezone'].get
  update:
    x-apievangelist-phrasing:
      intent: Set the default timezone for new websites
      effect: write
      questions:
      - How do I change the timezone new websites start with?
      - Can I make UTC the default timezone for sites I add later?
      instructions:
      - text: Set the default timezone for new websites to {defaultTimezone}.
        slots:
          defaultTimezone: query.defaultTimezone
      - text: Make {defaultTimezone} the timezone future sites are created in.
        slots:
          defaultTimezone: query.defaultTimezone
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.setGlobalQueryParamExclusion'].get
  update:
    x-apievangelist-phrasing:
      intent: Set the global URL parameter exclusion mode
      effect: write
      questions:
      - How do I choose whether common tracking parameters are stripped from URLs on all sites?
      - Can I switch the global query parameter exclusion type and add my own parameters?
      instructions:
      - text: Set the global query parameter exclusion type to {exclusionType}.
        slots:
          exclusionType: query.exclusionType
      - text: Use exclusion type {exclusionType} globally and strip the parameters {queryParamsToExclude}.
        slots:
          exclusionType: query.exclusionType
          queryParamsToExclude: query.queryParamsToExclude
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getExclusionTypeForQueryParams'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the URL parameter exclusion mode
      effect: read
      questions:
      - Which query parameter exclusion type is currently in effect?
      - Is my instance using a custom URL parameter exclusion mode?
      instructions:
      - text: Tell me the current query parameter exclusion type.
      - text: Show which URL parameter exclusion mode applies, considering site {idSite}.
        slots:
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.updateSite'].get
  update:
    x-apievangelist-phrasing:
      intent: Update an existing website's settings
      effect: write
      questions:
      - How do I rename a tracked website or change its main URL?
      - Can I turn on ecommerce tracking for a site that already exists?
      - Is it possible to change an existing site's timezone or currency?
      instructions:
      - text: Rename existing site {idSite} to {siteName}.
        slots:
          idSite: query.idSite
          siteName: query.siteName
      - text: Change the timezone of site {idSite} to {timezone} and its currency to {currency}.
        slots:
          idSite: query.idSite
          timezone: query.timezone
          currency: query.currency
      - text: Set ecommerce to {ecommerce} on existing website {idSite}.
        slots:
          ecommerce: query.ecommerce
          idSite: query.idSite
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getCurrencyList'].get
  update:
    x-apievangelist-phrasing:
      intent: List supported currencies
      effect: read
      questions:
      - Which currencies can a website be configured to report revenue in?
      - What currency codes does Matomo support?
      instructions:
      - text: List all supported currencies.
      - text: Show the currency codes and names I can assign to a site.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getCurrencySymbols'].get
  update:
    x-apievangelist-phrasing:
      intent: List currency symbols
      effect: read
      questions:
      - What symbol is shown for each currency in reports?
      - Can I get the mapping of currency codes to symbols?
      instructions:
      - text: List the currency symbols.
      - text: Show the symbol used for each currency code.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.isTimezoneSupportEnabled'].get
  update:
    x-apievangelist-phrasing:
      intent: Check if timezone support is enabled
      effect: read
      questions:
      - Does the server support setting per-site timezones?
      - Is timezone support enabled on this Matomo server?
      instructions:
      - text: Check whether timezone support is enabled on the server.
      - text: Confirm if this server can handle city-based timezones.
      method: generated
      generated: '2026-10-01'
- target: $.paths['/index.php?module=API&method=SitesManager.getTimezonesList'].get
  update:
    x-apievangelist-phrasing:
      intent: List supported timezones by continent
      effect: read
      questions:
      - Which timezones can I choose from when configuring a site?
      - Can I see the available timezones grouped by continent?
      instructions:
      - text: List the supported timezones grouped by continent.
      - text: Show every timezone I could assign to a website.
      method: generated
      generated: '2026-10-01'


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/matomo/refs/heads/main/overlays/matomo-sitesmanager-api-phrasing-overlay.yaml