# Developers | Piwik PRO Documentation
> Piwik PRO API and SDK documentation for developers who need to use Analytics, Consent Manager, Tag Manager and Customer Data Platform in their projects.
## Guides
- [Frameworks](https://developers.piwik.pro/docs/frameworks-browser-js-api.md)
- [Angular](https://developers.piwik.pro/docs/angular.md)
- [Gatsby](https://developers.piwik.pro/docs/gatsby.md)
- [Next.js](https://developers.piwik.pro/docs/nextjs.md)
- [Nuxt](https://developers.piwik.pro/docs/nuxt.md)
- [React](https://developers.piwik.pro/docs/react.md)
- [VUE](https://developers.piwik.pro/docs/vue.md)
- [Getting started](https://developers.piwik.pro/docs/browser-js-api.md)
- [Plain JavaScript](https://developers.piwik.pro/docs/plain-javascript-browser-js-api.md)
- [Methods](https://developers.piwik.pro/docs/methods-browser-js-api.md)
- [trackGoal](https://developers.piwik.pro/docs/trackgoal-1.md)
- [trackEvent](https://developers.piwik.pro/docs/trackevent-1.md)
- [trackPageView](https://developers.piwik.pro/docs/trackpageview.md)
- [trackSiteSearch](https://developers.piwik.pro/docs/tracksitesearch.md)
- [logAllContentBlocksOnPage](https://developers.piwik.pro/docs/logallcontentblocksonpage.md)
- [trackAllContentImpressions](https://developers.piwik.pro/docs/trackallcontentimpressions.md)
- [trackContentImpressionsWithinNode](https://developers.piwik.pro/docs/trackcontentimpressionswithinnode.md)
- [trackContentImpression](https://developers.piwik.pro/docs/trackcontentimpression.md)
- [trackContentInteractionNode](https://developers.piwik.pro/docs/trackcontentinteractionnode.md)
- [trackContentInteraction](https://developers.piwik.pro/docs/trackcontentinteraction.md)
- [trackVisibleContentImpressions](https://developers.piwik.pro/docs/trackvisiblecontentimpressions.md)
- [deleteCookies](https://developers.piwik.pro/docs/deletecookies.md)
- [disableCookies](https://developers.piwik.pro/docs/disablecookies.md)
- [enableCookies](https://developers.piwik.pro/docs/enablecookies.md)
- [getConfigVisitorCookieTimeout](https://developers.piwik.pro/docs/getconfigvisitorcookietimeout.md)
- [getCookieDomain](https://developers.piwik.pro/docs/getcookiedomain.md)
- [getSessionCookieTimeout](https://developers.piwik.pro/docs/getsessioncookietimeout.md)
- [getCookiePath](https://developers.piwik.pro/docs/getcookiepath.md)
- [hasCookies](https://developers.piwik.pro/docs/hascookies.md)
- [setCookieDomain](https://developers.piwik.pro/docs/setcookiedomain.md)
- [setCookieNamePrefix](https://developers.piwik.pro/docs/setcookienameprefix.md)
- [setReferralCookieTimeout](https://developers.piwik.pro/docs/setreferralcookietimeout-browser-js-api.md)
- [setCookiePath](https://developers.piwik.pro/docs/setcookiepath.md)
- [setSecureCookie](https://developers.piwik.pro/docs/setsecurecookie.md)
- [setSessionCookieTimeout](https://developers.piwik.pro/docs/setsessioncookietimeout.md)
- [setVisitorIdCookie](https://developers.piwik.pro/docs/setvisitoridcookie.md)
- [setVisitorCookieTimeout](https://developers.piwik.pro/docs/setvisitorcookietimeout.md)
- [customCrossDomainLinkDecorator](https://developers.piwik.pro/docs/customcrossdomainlinkdecorator.md)
- [disableCrossDomainLinking](https://developers.piwik.pro/docs/disablecrossdomainlinking.md)
- [customCrossDomainLinkVisitorIdGetter](https://developers.piwik.pro/docs/customcrossdomainlinkvisitoridgetter.md)
- [enableCrossDomainLinking](https://developers.piwik.pro/docs/enablecrossdomainlinking.md)
- [getCrossDomainLinkingUrlParameter](https://developers.piwik.pro/docs/getcrossdomainlinkingurlparameter.md)
- [isCrossDomainLinkingEnabled](https://developers.piwik.pro/docs/iscrossdomainlinkingenabled.md)
- [setCrossDomainLinkingTimeout](https://developers.piwik.pro/docs/setcrossdomainlinkingtimeout.md)
- [getCustomDimension](https://developers.piwik.pro/docs/getcustomdimension-deprecated.md)
- [deleteCustomDimension](https://developers.piwik.pro/docs/deletecustomdimension.md)
- [setCustomDimension](https://developers.piwik.pro/docs/setcustomdimension.md)
- [getCustomDimensionValue](https://developers.piwik.pro/docs/getcustomdimensionvalue.md)
- [setCustomDimensionValue](https://developers.piwik.pro/docs/setcustomdimensionvalue.md)
- [deleteCustomVariable](https://developers.piwik.pro/docs/deletecustomvariable-browser-js-api.md)
- [getCustomVariable](https://developers.piwik.pro/docs/getcustomvariable-browser-js-api.md)
- [storeCustomVariablesInCookie](https://developers.piwik.pro/docs/storecustomvariablesincookie-browser-js-api.md)
- [setCustomVariable](https://developers.piwik.pro/docs/setcustomvariable-browser-js-api.md)
- [addDownloadExtensions](https://developers.piwik.pro/docs/adddownloadextensions.md)
- [disableLinkTracking](https://developers.piwik.pro/docs/disablelinktracking.md)
- [enableLinkTracking](https://developers.piwik.pro/docs/enablelinktracking.md)
- [getConfigDownloadExtensions](https://developers.piwik.pro/docs/getconfigdownloadextensions.md)
- [removeDownloadExtensions](https://developers.piwik.pro/docs/removedownloadextensions.md)
- [setDownloadClasses](https://developers.piwik.pro/docs/setdownloadclasses.md)
- [setDownloadExtensions](https://developers.piwik.pro/docs/setdownloadextensions.md)
- [setIgnoreClasses](https://developers.piwik.pro/docs/setignoreclasses.md)
- [setLinkClasses](https://developers.piwik.pro/docs/setlinkclasses.md)
- [addDownloadClasses](https://developers.piwik.pro/docs/adddownloadclasses.md)
- [trackLink](https://developers.piwik.pro/docs/tracklink.md)
- [getDownloadClasses](https://developers.piwik.pro/docs/getdownloadclasses.md)
- [getDownloadExtensions](https://developers.piwik.pro/docs/getdownloadextensions.md)
- [removeDownloadClasses](https://developers.piwik.pro/docs/removedownloadclasses.md)
- [addEcommerceItem](https://developers.piwik.pro/docs/addecommerceitem-deprecated.md)
- [clearEcommerceCart](https://developers.piwik.pro/docs/clearecommercecart-deprecated.md)
- [ecommerceAddToCart](https://developers.piwik.pro/docs/ecommerceaddtocart.md)
- [ecommerceCartUpdate](https://developers.piwik.pro/docs/ecommercecartupdate.md)
- [ecommerceOrder](https://developers.piwik.pro/docs/ecommerceorder.md)
- [ecommerceProductDetailView](https://developers.piwik.pro/docs/ecommerceproductdetailview.md)
- [getEcommerceItems](https://developers.piwik.pro/docs/getecommerceitems-deprecated.md)
- [ecommerceRemoveFromCart](https://developers.piwik.pro/docs/ecommerceremovefromcart.md)
- [removeEcommerceItem](https://developers.piwik.pro/docs/removeecommerceitem-deprecated.md)
- [setEcommerceView](https://developers.piwik.pro/docs/setecommerceview-deprecated.md)
- [trackEcommerceCartUpdate](https://developers.piwik.pro/docs/trackecommercecartupdate-deprecated.md)
- [trackEcommerceOrder](https://developers.piwik.pro/docs/trackecommerceorder-deprecated.md)
- [disableHeartBeatTimer](https://developers.piwik.pro/docs/disableheartbeattimer.md)
- [enableHeartBeatTimer](https://developers.piwik.pro/docs/enableheartbeattimer.md)
- [trackHeartBeat](https://developers.piwik.pro/docs/trackheartbeat-browser-js-api.md)
- [addListener](https://developers.piwik.pro/docs/addlistener.md)
- [appendToTrackingUrl](https://developers.piwik.pro/docs/appendtotrackingurl.md)
- [getConfigIdPageView](https://developers.piwik.pro/docs/getconfigidpageview.md)
- [enableJSErrorTracking](https://developers.piwik.pro/docs/enablejserrortracking.md)
- [getNumTrackedPageViews](https://developers.piwik.pro/docs/getnumtrackedpageviews.md)
- [getTrackingSourceProvider](https://developers.piwik.pro/docs/gettrackingsourceprovider.md)
- [getTrackingSource](https://developers.piwik.pro/docs/gettrackingsource.md)
- [killFrame](https://developers.piwik.pro/docs/killframe-browser-js-api.md)
- [ping](https://developers.piwik.pro/docs/ping.md)
- [redirectFile](https://developers.piwik.pro/docs/redirectfile-browser-js-api.md)
- [setCountPreRendered](https://developers.piwik.pro/docs/setcountprerendered.md)
- [setDoNotTrack](https://developers.piwik.pro/docs/setdonottrack-browser-js-api.md)
- [setCustomRequestProcessing](https://developers.piwik.pro/docs/setcustomrequestprocessing.md)
- [setGenerationTimeMs](https://developers.piwik.pro/docs/setgenerationtimems-browser-js-api.md)
- [setRequestContentType](https://developers.piwik.pro/docs/setrequestcontenttype.md)
- [setRequestMethod](https://developers.piwik.pro/docs/setrequestmethod.md)
- [setTrackingSource](https://developers.piwik.pro/docs/settrackingsource.md)
- [setTrackingSourceProvider](https://developers.piwik.pro/docs/settrackingsourceprovider.md)
- [trackError](https://developers.piwik.pro/docs/trackerror.md)
- [disablePerformanceTracking](https://developers.piwik.pro/docs/disableperformancetracking.md)
- [addTracker](https://developers.piwik.pro/docs/addtracker.md)
- [getCurrentUrl](https://developers.piwik.pro/docs/getcurrenturl.md)
- [discardHashTag](https://developers.piwik.pro/docs/discardhashtag.md)
- [getLinkTrackingTimer](https://developers.piwik.pro/docs/getlinktrackingtimer.md)
- [getPiwikUrl](https://developers.piwik.pro/docs/getpiwikurl-browser-js-api.md)
- [getSiteId](https://developers.piwik.pro/docs/getsiteid.md)
- [getDomains](https://developers.piwik.pro/docs/getdomains.md)
- [getTimingDataSamplingOnPageLoad](https://developers.piwik.pro/docs/gettimingdatasamplingonpageload.md)
- [getTrackerUrl](https://developers.piwik.pro/docs/gettrackerurl.md)
- [setAPIUrl](https://developers.piwik.pro/docs/setapiurl.md)
- [setEnableClientHints](https://developers.piwik.pro/docs/setenableclienthints.md)
- [setCustomUrl](https://developers.piwik.pro/docs/setcustomurl.md)
- [setDocumentTitle](https://developers.piwik.pro/docs/setdocumenttitle.md)
- [setDomains](https://developers.piwik.pro/docs/setdomains.md)
- [setLinkTrackingTimer](https://developers.piwik.pro/docs/setlinktrackingtimer.md)
- [setReferrerUrl](https://developers.piwik.pro/docs/setreferrerurl.md)
- [setSiteId](https://developers.piwik.pro/docs/setsiteid.md)
- [setSiteInspectorSetup](https://developers.piwik.pro/docs/setsiteinspectorsetup.md)
- [setTimingDataSamplingOnPageLoad](https://developers.piwik.pro/docs/settimingdatasamplingonpageload.md)
- [setTrackerUrl](https://developers.piwik.pro/docs/settrackerurl.md)
- [deanonymizeUser](https://developers.piwik.pro/docs/deanonymizeuser.md)
- [getUserId](https://developers.piwik.pro/docs/getuserid.md)
- [getVisitorId](https://developers.piwik.pro/docs/getvisitorid.md)
- [resetUserId](https://developers.piwik.pro/docs/resetuserid.md)
- [getVisitorInfo](https://developers.piwik.pro/docs/getvisitorinfo.md)
- [setIpTracking](https://developers.piwik.pro/docs/setiptracking.md)
- [setSessionIdStrictPrivacyMode](https://developers.piwik.pro/docs/setsessionidstrictprivacymode.md)
- [setUserId](https://developers.piwik.pro/docs/setuserid-browser-js-api.md)
- [setUserIsAnonymous](https://developers.piwik.pro/docs/setuserisanonymous.md)
- [Overview](https://developers.piwik.pro/docs/overview-consent-manager-js-api.md)
- [Custom consent form](https://developers.piwik.pro/docs/custom-consent-form.md)
- [Methods](https://developers.piwik.pro/docs/methods-consent-manager-js-api.md)
- [getComplianceSettings](https://developers.piwik.pro/docs/getcompliancesettings.md)
- [getComplianceTypes](https://developers.piwik.pro/docs/getcompliancetypes.md)
- [getNewComplianceTypes](https://developers.piwik.pro/docs/getnewcompliancetypes.md)
- [openConsentForm](https://developers.piwik.pro/docs/openconsentform.md)
- [sendDataRequest](https://developers.piwik.pro/docs/senddatarequest.md)
- [setComplianceSettings](https://developers.piwik.pro/docs/setcompliancesettings.md)
- [setInitialComplianceSettings](https://developers.piwik.pro/docs/setinitialcompliancesettings.md)
- [trackAgreeToAllClick](https://developers.piwik.pro/docs/trackagreetoallclick.md)
- [trackCloseButtonClick](https://developers.piwik.pro/docs/trackclosebuttonclick.md)
- [trackMainFormView](https://developers.piwik.pro/docs/trackmainformview.md)
- [trackPrivacyPolicyLinkView](https://developers.piwik.pro/docs/trackprivacypolicylinkview.md)
- [trackRejectAllClick](https://developers.piwik.pro/docs/trackrejectallclick.md)
- [trackReminderWidgetView](https://developers.piwik.pro/docs/trackreminderwidgetview.md)
- [trackSaveChoicesClick](https://developers.piwik.pro/docs/tracksavechoicesclick.md)
- [Methods](https://developers.piwik.pro/docs/methods-android-sdk.md)
- [audienceManagerGetProfileAttributes](https://developers.piwik.pro/docs/audiencemanagergetprofileattributes-android-sdk.md)
- [audienceManagerSetProfileAttribute](https://developers.piwik.pro/docs/audiencemanagersetprofileattribute-android-sdk.md)
- [checkAudienceMembership](https://developers.piwik.pro/docs/checkaudiencemembership-android-sdk.md)
- [dispatch](https://developers.piwik.pro/docs/dispatch.md)
- [ecommerceAddToCart](https://developers.piwik.pro/docs/ecommerceaddtocart-1.md)
- [ecommerceCartUpdate](https://developers.piwik.pro/docs/ecommercecartupdate-android-sdk.md)
- [ecommerceOrder](https://developers.piwik.pro/docs/ecommerceorder-android-sdk.md)
- [ecommerceProductDetailView](https://developers.piwik.pro/docs/ecommerceproductdetailview-android-sdk.md)
- [ecommerceRemoveFromCart](https://developers.piwik.pro/docs/ecommerceremovefromcart-android-sdk.md)
- [getSessionHash](https://developers.piwik.pro/docs/getsessionhash.md)
- [getDeviceId](https://developers.piwik.pro/docs/getdeviceid.md)
- [getUserAgent](https://developers.piwik.pro/docs/getuseragent.md)
- [isAnonymizationOn](https://developers.piwik.pro/docs/isanonymizationon.md)
- [items.addItem](https://developers.piwik.pro/docs/itemsadditem.md): The **items.addItem()** method adds a product to the cart.
- [setAnonymizationState](https://developers.piwik.pro/docs/setanonymizationstate.md)
- [setApplicationDomain](https://developers.piwik.pro/docs/setapplicationdomain.md)
- [setDispatchInterval](https://developers.piwik.pro/docs/setdispatchinterval.md)
- [setDeviceId](https://developers.piwik.pro/docs/setdeviceid.md)
- [setDispatchMode](https://developers.piwik.pro/docs/setdispatchmode.md)
- [setDispatchTimeout](https://developers.piwik.pro/docs/setdispatchtimeout.md)
- [setDryRunTarget](https://developers.piwik.pro/docs/setdryruntarget.md)
- [setIncludeDefaultCustomVars](https://developers.piwik.pro/docs/setincludedefaultcustomvars.md)
- [setOfflineCacheAge](https://developers.piwik.pro/docs/setofflinecacheage.md)
- [setOfflineCacheSize](https://developers.piwik.pro/docs/setofflinecachesize.md)
- [setPrefixing](https://developers.piwik.pro/docs/setprefixing.md)
- [setOptOut](https://developers.piwik.pro/docs/setoptout.md)
- [setSessionTimeout](https://developers.piwik.pro/docs/setsessiontimeout.md)
- [setSessionHash](https://developers.piwik.pro/docs/setsessionhash.md)
- [setTrafficSourceName](https://developers.piwik.pro/docs/settrafficsourcename.md)
- [setTrafficSourceVersion](https://developers.piwik.pro/docs/settrafficsourceversion.md)
- [setUserMail](https://developers.piwik.pro/docs/setusermail-android-sdk.md)
- [setUserId](https://developers.piwik.pro/docs/setuserid.md)
- [setVisitorId](https://developers.piwik.pro/docs/setvisitorid.md)
- [setVisitorIdFromDeepLink](https://developers.piwik.pro/docs/setvisitoridfromdeeplink.md)
- [setVisitorIDLifetime](https://developers.piwik.pro/docs/setvisitoridlifetime.md)
- [track().applicationInstall](https://developers.piwik.pro/docs/trackapplicationinstall.md)
- [startNewSession](https://developers.piwik.pro/docs/startnewsession.md)
- [track().applicationUpdate](https://developers.piwik.pro/docs/trackapplicationupdate.md)
- [track().campaign](https://developers.piwik.pro/docs/trackcampaign.md)
- [track().dimension](https://developers.piwik.pro/docs/trackdimension.md)
- [track().download](https://developers.piwik.pro/docs/trackdownload.md)
- [track().event](https://developers.piwik.pro/docs/trackevent.md)
- [track().exception](https://developers.piwik.pro/docs/trackexception.md)
- [track().goal](https://developers.piwik.pro/docs/trackgoal.md)
- [track().impression](https://developers.piwik.pro/docs/trackimpression.md)
- [track().order](https://developers.piwik.pro/docs/trackorder.md)
- [track().interaction](https://developers.piwik.pro/docs/trackinteraction.md)
- [track().outlink](https://developers.piwik.pro/docs/trackoutlink.md)
- [track().screen](https://developers.piwik.pro/docs/trackscreen.md)
- [track().screens](https://developers.piwik.pro/docs/trackscreens.md)
- [track().search](https://developers.piwik.pro/docs/tracksearch.md)
- [track().socialInteraction](https://developers.piwik.pro/docs/tracksocialinteraction.md)
- [track().sendApplicationDownload](https://developers.piwik.pro/docs/tracksendapplicationdownload.md)
- [track().variable](https://developers.piwik.pro/docs/trackvariable-android-sdk.md)
- [track().visitVariables](https://developers.piwik.pro/docs/trackvisitvariables-android-sdk.md)
- [Getting started](https://developers.piwik.pro/docs/android-sdk.md)
- [Using Piwik PRO SDK](https://developers.piwik.pro/docs/using-piwik-pro-sdk.md)
- [Cross-platform tracking](https://developers.piwik.pro/docs/cross-platform-tracking-android-sdk.md)
- [Advanced usage](https://developers.piwik.pro/docs/advanced-usage-android-sdk.md)
- [Methods](https://developers.piwik.pro/docs/methods-flutter-sdk.md)
- [checkAudienceMembership](https://developers.piwik.pro/docs/checkaudiencemembership-flutter-sdk.md)
- [dispatch](https://developers.piwik.pro/docs/dispatch-flutter-sdk.md)
- [dryRun](https://developers.piwik.pro/docs/dryrun-flutter-sdk.md)
- [getSessionHash](https://developers.piwik.pro/docs/getsessionhash-flutter-sdk.md)
- [getUserAgent](https://developers.piwik.pro/docs/getuseragent-flutter-sdk.md)
- [getVisitorIDLifetime](https://developers.piwik.pro/docs/getvisitoridlifetime-flutter-sdk.md)
- [readUserProfileAttributes](https://developers.piwik.pro/docs/readuserprofileattributes-flutter-sdk.md)
- [optOut](https://developers.piwik.pro/docs/optout-flutter-sdk.md)
- [setAnonymizationState](https://developers.piwik.pro/docs/setanonymizationstate-flutter-sdk.md)
- [setDispatchInterval](https://developers.piwik.pro/docs/setdispatchinterval-flutter-sdk.md)
- [setIncludeDefaultVariables](https://developers.piwik.pro/docs/setincludedefaultvariables-flutter-sdk.md)
- [setSessionHash](https://developers.piwik.pro/docs/setsessionhash-flutter-sdk.md)
- [setUserEmail](https://developers.piwik.pro/docs/setuseremail-flutter-sdk.md)
- [setSessionTimeout](https://developers.piwik.pro/docs/setsessiontimeout-flutter-sdk.md)
- [setUserId](https://developers.piwik.pro/docs/setuserid-flutter-sdk.md)
- [setVisitorId](https://developers.piwik.pro/docs/setvisitorid-flutter-sdk.md)
- [setVisitorIdFromDeepLink](https://developers.piwik.pro/docs/setvisitoridfromdeeplink-flutter-sdk.md)
- [trackAppInstall](https://developers.piwik.pro/docs/trackappinstall-flutter-sdk.md)
- [setVisitorIDLifetime](https://developers.piwik.pro/docs/setvisitoridlifetime-flutter-sdk.md)
- [trackApplicationInstall](https://developers.piwik.pro/docs/trackapplicationinstall-flutter-sdk.md)
- [trackApplicationUpdate](https://developers.piwik.pro/docs/trackapplicationupdate-flutter-sdk.md)
- [trackCampaign](https://developers.piwik.pro/docs/trackcampaign-flutter-sdk.md)
- [trackContentImpression](https://developers.piwik.pro/docs/trackcontentimpression-flutter-sdk.md)
- [trackContentInteraction](https://developers.piwik.pro/docs/trackcontentinteraction-flutter-sdk.md)
- [trackCustomDimension](https://developers.piwik.pro/docs/trackcustomdimension-flutter-sdk.md)
- [trackCustomVariable](https://developers.piwik.pro/docs/trackcustomvariable-flutter-sdk.md)
- [trackCustomEvent](https://developers.piwik.pro/docs/trackcustomevent-flutter-sdk.md)
- [trackDownload](https://developers.piwik.pro/docs/trackdownload-flutter-sdk.md)
- [trackEcommerceAddToCart](https://developers.piwik.pro/docs/trackecommerceaddtocart-flutter-sdk.md)
- [trackEcommerceCartUpdate](https://developers.piwik.pro/docs/trackecommercecartupdate-flutter-sdk.md)
- [trackEcommerceOrder](https://developers.piwik.pro/docs/trackecommerceorder-flutter-sdk.md)
- [trackEcommerceProductDetailView](https://developers.piwik.pro/docs/trackecommerceproductdetailview-flutter-sdk.md)
- [trackEcommerceTransaction](https://developers.piwik.pro/docs/trackecommercetransaction-flutter-sdk.md)
- [trackEcommerceRemoveFromCart](https://developers.piwik.pro/docs/trackecommerceremovefromcart-flutter-sdk.md)
- [trackException](https://developers.piwik.pro/docs/trackexception-flutter-sdk.md)
- [trackGoal](https://developers.piwik.pro/docs/trackgoal-flutter-sdk.md)
- [trackProfileAttribute](https://developers.piwik.pro/docs/trackprofileattribute-flutter-sdk.md)
- [trackOutlink](https://developers.piwik.pro/docs/trackoutlink-flutter-sdk.md)
- [trackScreen](https://developers.piwik.pro/docs/trackscreen-flutter-sdk.md)
- [trackSearch](https://developers.piwik.pro/docs/tracksearch-flutter-sdk.md)
- [trackSocialInteraction](https://developers.piwik.pro/docs/tracksocialinteraction-flutter-sdk.md)
- [Getting started](https://developers.piwik.pro/docs/flutter-sdk.md)
- [Using the Flutter SDK](https://developers.piwik.pro/docs/using-flutter-sdk.md)
- [Advanced usage](https://developers.piwik.pro/docs/advanced-usage-flutter-sdk.md)
- [Cross-platform tracking](https://developers.piwik.pro/docs/cross-platform-tracking-flutter-sdk.md)
- [Getting started](https://developers.piwik.pro/docs/ios-sdk.md)
- [Methods](https://developers.piwik.pro/docs/methods-ios-sdk.md)
- [addItem](https://developers.piwik.pro/docs/additemwithsku-ios-sdk.md)
- [audienceManagerGetProfileAttributes](https://developers.piwik.pro/docs/audiencemanagergetprofileattributes-ios-sdk.md)
- [checkMembership](https://developers.piwik.pro/docs/checkmembershipwithaudienceid-ios-sdk.md)
- [deviceID](https://developers.piwik.pro/docs/deviceid.md)
- [dispatchInterval](https://developers.piwik.pro/docs/dispatchinterval.md)
- [dryRun](https://developers.piwik.pro/docs/dryrun.md)
- [ecommerceAddToCart](https://developers.piwik.pro/docs/ecommerceaddtocart-ios-sdk.md)
- [ecommerceCartUpdate](https://developers.piwik.pro/docs/ecommercecartupdate-ios-sdk.md)
- [ecommerceOrder](https://developers.piwik.pro/docs/ecommerceorder-ios-sdk.md)
- [ecommerceProductDetailView](https://developers.piwik.pro/docs/ecommerceproductdetailview-ios-sdk.md)
- [ecommerceRemoveFromCart](https://developers.piwik.pro/docs/ecommerceremovefromcart-ios-sdk.md)
- [includeDefaultCustomVariable](https://developers.piwik.pro/docs/includedefaultcustomvariable.md)
- [isAnonymizationEnabled](https://developers.piwik.pro/docs/isanonymizationenabled.md)
- [maxAgeOfQueuedEvents](https://developers.piwik.pro/docs/maxageofqueuedevents.md)
- [maxNumberOfQueuedEvents](https://developers.piwik.pro/docs/maxnumberofqueuedevents.md)
- [optOut](https://developers.piwik.pro/docs/optout.md)
- [sendApplicationDownload](https://developers.piwik.pro/docs/sendapplicationdownload.md)
- [sendCampaign](https://developers.piwik.pro/docs/sendcampaign.md)
- [sendContentImpression](https://developers.piwik.pro/docs/sendcontentimpressionwithname.md)
- [sendContentInteraction](https://developers.piwik.pro/docs/sendcontentinteractionwithname.md)
- [sendDownload](https://developers.piwik.pro/docs/senddownload.md)
- [sendEvent](https://developers.piwik.pro/docs/sendeventwithcategory.md)
- [sendException](https://developers.piwik.pro/docs/sendexceptionwithdescription.md)
- [sendGoal](https://developers.piwik.pro/docs/sendgoalwithid.md)
- [sendOutlink](https://developers.piwik.pro/docs/sendoutlink.md)
- [sendAudienceManagerAttribute](https://developers.piwik.pro/docs/sendprofileattributewithname-ios-sdk.md)
- [sendSearch](https://developers.piwik.pro/docs/sendsearchwithkeyword.md)
- [sendSocialInteraction](https://developers.piwik.pro/docs/sendsocialinteractionwithaction.md)
- [sendTransaction](https://developers.piwik.pro/docs/sendtransaction.md)
- [sendView](https://developers.piwik.pro/docs/sendview.md)
- [sendViews](https://developers.piwik.pro/docs/sendviews.md)
- [sessionTimeout](https://developers.piwik.pro/docs/sessiontimeout.md)
- [setCustomDimension](https://developers.piwik.pro/docs/setcustomdimensionforid.md)
- [setCustomVariable](https://developers.piwik.pro/docs/setcustomvariableforindex-ios-sdk.md)
- [startNewSession](https://developers.piwik.pro/docs/startnewsession-ios-sdk.md)
- [userEmail](https://developers.piwik.pro/docs/useremail-ios-sdk.md)
- [userID](https://developers.piwik.pro/docs/userid.md)
- [visitorID](https://developers.piwik.pro/docs/visitorid.md)
- [applicationInstall](https://developers.piwik.pro/docs/applicationinstall-ios-sdk.md)
- [applicationUpdate](https://developers.piwik.pro/docs/applicationupdate-ios-sdk.md)
- [dispatch](https://developers.piwik.pro/docs/dispatch-ios-sdk.md)
- [deleteQueuedEvents](https://developers.piwik.pro/docs/deletequeuedevents-ios-sdk.md)
- [setVisitorIdFrom](https://developers.piwik.pro/docs/setvisitoridfromdeeplink-ios-sdk.md)
- [userAgent](https://developers.piwik.pro/docs/useragent-ios-sdk.md)
- [appName](https://developers.piwik.pro/docs/appname-ios-sdk.md)
- [appVersion](https://developers.piwik.pro/docs/appversion-ios-sdk.md)
- [sampleRate](https://developers.piwik.pro/docs/samplerate-ios-sdk.md)
- [eventsPerRequest](https://developers.piwik.pro/docs/eventsperrequest-ios-sdk.md)
- [visitorIDLifetime](https://developers.piwik.pro/docs/visitoridlifetime-ios-sdk.md)
- [isPrefixingEnabled](https://developers.piwik.pro/docs/isprefixingenabled-ios-sdk.md)
- [sessionHash](https://developers.piwik.pro/docs/sessionhash-ios-sdk.md)
- [sourceTrafficName](https://developers.piwik.pro/docs/sourcetrafficname-ios-sdk.md)
- [sourceTrafficVersion](https://developers.piwik.pro/docs/sourcetrafficversion-ios-sdk.md)
- [Using Piwik PRO SDK](https://developers.piwik.pro/docs/using-piwik-pro-sdk-ios.md)
- [Cross-platform tracking](https://developers.piwik.pro/docs/cross-platform-tracking-ios-sdk.md)
- [Advanced usage](https://developers.piwik.pro/docs/advanced-usage-ios-sdk.md)
- [Advanced usage](https://developers.piwik.pro/docs/advanced-usage-react-native-sdk.md)
- [Getting started](https://developers.piwik.pro/docs/react-native-sdk.md)
- [Methods](https://developers.piwik.pro/docs/methods-react-native-sdk.md)
- [checkAudienceMembership](https://developers.piwik.pro/docs/checkaudiencemembership-react-native-sdk.md)
- [dispatch](https://developers.piwik.pro/docs/dispatch-react-native-sdk.md)
- [getDispatchInterval](https://developers.piwik.pro/docs/getdispatchinterval-react-native-sdk.md)
- [getDryRun](https://developers.piwik.pro/docs/getdryrun-react-native-sdk.md)
- [getIncludeDefaultCustomVariables](https://developers.piwik.pro/docs/getincludedefaultcustomvariables-react-native-sdk.md)
- [getOptOut](https://developers.piwik.pro/docs/getoptout-react-native-sdk.md)
- [getProfileAttributes](https://developers.piwik.pro/docs/getprofileattributes-react-native-sdk.md)
- [getSessionHash](https://developers.piwik.pro/docs/getsessionhash-react-native-sdk.md)
- [getSessionTimeout](https://developers.piwik.pro/docs/getsessiontimeout-react-native-sdk.md)
- [getUserAgent](https://developers.piwik.pro/docs/getuseragent-react-native-sdk.md)
- [getUserEmail](https://developers.piwik.pro/docs/getuseremail-react-native-sdk.md)
- [getUserId](https://developers.piwik.pro/docs/getuserid-react-native-sdk.md)
- [getVisitorId](https://developers.piwik.pro/docs/getvisitorid-react-native-sdk.md)
- [isAnonymizationOn](https://developers.piwik.pro/docs/isanonymizationon-react-native-sdk.md)
- [isPrefixingOn](https://developers.piwik.pro/docs/isprefixingon-react-native-sdk.md)
- [setAnonymizationState](https://developers.piwik.pro/docs/setanonymizationstate-react-native-sdk.md)
- [setDispatchInterval](https://developers.piwik.pro/docs/setdispatchinterval-react-native-sdk.md)
- [setDryRun](https://developers.piwik.pro/docs/setdryrun-react-native-sdk.md)
- [setIncludeDefaultCustomVariables](https://developers.piwik.pro/docs/setincludedefaultcustomvariables-react-native-sdk.md)
- [setOptOut](https://developers.piwik.pro/docs/setoptout-react-native-sdk.md)
- [setPrefixing](https://developers.piwik.pro/docs/setprefixing-react-native-sdk.md)
- [setSessionHash](https://developers.piwik.pro/docs/setsessionhash-react-native-sdk.md)
- [setSessionTimeout](https://developers.piwik.pro/docs/setsessiontimeout-react-native-sdk.md)
- [setUserEmail](https://developers.piwik.pro/docs/setuseremail-react-native-sdk.md)
- [setUserId](https://developers.piwik.pro/docs/setuserid-react-native-sdk.md)
- [setVisitorId](https://developers.piwik.pro/docs/setvisitorid-react-native-sdk.md)
- [setVisitorIdFromDeepLink](https://developers.piwik.pro/docs/setvisitoridfromdeeplink-react-native-sdk.md)
- [setVisitorIDLifetime](https://developers.piwik.pro/docs/setvisitoridlifetime-react-native-sdk.md)
- [startNewSession](https://developers.piwik.pro/docs/startnewsession-react-native-sdk.md)
- [trackApplicationInstall](https://developers.piwik.pro/docs/trackapplicationinstall-react-native-sdk.md)
- [trackApplicationUpdate](https://developers.piwik.pro/docs/trackapplicationupdate-react-native-sdk.md)
- [trackCampaign](https://developers.piwik.pro/docs/trackcampaign-react-native-sdk.md)
- [trackCustomEvent](https://developers.piwik.pro/docs/trackcustomevent-react-native-sdk.md)
- [trackDownload](https://developers.piwik.pro/docs/trackdownload-react-native-sdk.md)
- [trackEcommerce](https://developers.piwik.pro/docs/trackecommerce-react-native-sdk.md)
- [trackEcommerceAddToCart](https://developers.piwik.pro/docs/trackecommerceaddtocart-react-native-sdk.md)
- [trackEcommerceCartUpdate](https://developers.piwik.pro/docs/trackecommercecartupdate-react-native-sdk.md)
- [trackEcommerceOrder](https://developers.piwik.pro/docs/trackecommerceorder-react-native-sdk.md)
- [trackEcommerceProductDetailView](https://developers.piwik.pro/docs/trackecommerceproductdetailview-react-native-sdk.md)
- [trackEcommerceRemoveFromCart](https://developers.piwik.pro/docs/trackecommerceremovefromcart-react-native-sdk.md)
- [trackException](https://developers.piwik.pro/docs/trackexception-react-native-sdk.md)
- [trackGoal](https://developers.piwik.pro/docs/trackgoal-react-native-sdk.md)
- [trackImpression](https://developers.piwik.pro/docs/trackimpression-react-native-sdk.md)
- [trackOutlink](https://developers.piwik.pro/docs/trackoutlink-react-native-sdk.md)
- [trackInteraction](https://developers.piwik.pro/docs/trackinteraction-react-native-sdk.md)
- [trackProfileAttributes](https://developers.piwik.pro/docs/trackprofileattributes-react-native-sdk.md)
- [trackScreen](https://developers.piwik.pro/docs/trackscreen-react-native-sdk.md)
- [trackSearch](https://developers.piwik.pro/docs/tracksearch-react-native-sdk.md)
- [trackSocialInteraction](https://developers.piwik.pro/docs/tracksocialinteraction-react-native-sdk.md)
- [Using Piwik PRO SDK for React Native](https://developers.piwik.pro/docs/using-react-native-sdk.md)
- [Cross-platform tracking](https://developers.piwik.pro/docs/cross-platform-tracking-react-native-sdk.md)
- [Accelerated mobile pages (AMP) integration](https://developers.piwik.pro/docs/accelerated-mobile-pages-integration.md)
- [Progressive web applications integration (PWA)](https://developers.piwik.pro/docs/progressive-web-applications-integration.md)
- [Web log analytics](https://developers.piwik.pro/docs/web-log-analytics.md)
- [Custom attributes](https://developers.piwik.pro/docs/data-activation-custom-attributes.md): Create custom attributes to collect business-specific data in profiles and drive more precise activation.
- [Identity resolution](https://developers.piwik.pro/docs/data-activation-identity-resolution.md): Learn how identity resolution connects cross-device identifiers to create unified user profiles enabling consistent and accurate event attribution.
- [Profile building](https://developers.piwik.pro/docs/data-activation-profile-building.md): Learn how Piwik PRO aggregates user data into detailed profiles that support advanced analytics and personalization.
- [Data Import](https://developers.piwik.pro/docs/data-activation-data-import.md): Import your customer data into Data Activation to build richer profiles and offer more relevant experiences
- [Custom popup examples](https://developers.piwik.pro/docs/custom-popup-examples.md)
- [Content Security Policy (CSP)](https://developers.piwik.pro/docs/content-security-policy-csp.md)
- [Custom data layer name](https://developers.piwik.pro/docs/custom-data-layer-name.md)
- [Skip link tracking with the data-disable-delay attribute](https://developers.piwik.pro/docs/skip-link-tracking-with-the-data-disable-delay-attribute.md)
- [MCP Server](https://developers.piwik.pro/docs/mcp-server.md): Connect your AI assistant to Piwik PRO and use everyday language to work with your analytics.
## API Reference
- [Authentication](https://developers.piwik.pro/reference/authentication.md)
- [Make a first API call](https://developers.piwik.pro/reference/make-a-first-api-call.md)
- [Rate limits](https://developers.piwik.pro/reference/api-rate-limits.md)
- [API call definition](https://developers.piwik.pro/reference/api-call-definition.md)
- [Metrics & dimensions](https://developers.piwik.pro/reference/metrics-dimensions.md)
- [Piwik PRO](https://developers.piwik.pro/reference/piwik-pro-metrics-dimensions.md)
- [Google Ads](https://developers.piwik.pro/reference/google-ads-metrics-dimensions.md)
- [Google Search Console](https://developers.piwik.pro/reference/google-search-console-metrics-dimensions.md)
- [Exporter](https://developers.piwik.pro/reference/exporter.md)
- [SharePoint](https://developers.piwik.pro/reference/sharepoint-metrics-dimensions.md)
- [Profile attributes](https://developers.piwik.pro/reference/profile-attributes.md)
- [Asynchronous operations](https://developers.piwik.pro/reference/asynchronous-operations.md)
- [Tags](https://developers.piwik.pro/reference/tags.md)
- [Built-in variables](https://developers.piwik.pro/reference/built-in-variables.md)
- [Entity actions](https://developers.piwik.pro/reference/get_entity_actions_v2.md): Returns granted actions to a given entity for current user.
- [Apps with granted action](https://developers.piwik.pro/reference/get_apps_with_action_v2.md): Returns apps with granted action for current user.
- [Meta sites with granted action](https://developers.piwik.pro/reference/get_meta_sites_with_action_v2.md): Returns meta sites with granted action for current user.
- [Users with granted action](https://developers.piwik.pro/reference/get_users_with_action_v2.md): Returns users with granted action for current user.
- [Global actions](https://developers.piwik.pro/reference/get_global_actions_v2.md): It gets actions without specific entity context for a given user.
- [Users permissions for a given app](https://developers.piwik.pro/reference/list_app_permissions_for_user_v2.md): Lists all users (but not owners) and their permissions for a given app. List contains both explicit permission of a user and implicit highest permission inherited from user groups which user belongs to.
- [User groups permissions for a given app](https://developers.piwik.pro/reference/list_app_permissions_for_user_group_v2.md): Lists all user groups and their permissions for a given app.
- [Users permissions for a given meta site](https://developers.piwik.pro/reference/list_meta_site_permissions_for_user_v2.md): Lists all users (but not owners) and their permissions for a given meta site. List contains both explicit permission of a user and implicit highest permission inherited from user groups which user belongs to.
- [User groups permissions for a given meta site](https://developers.piwik.pro/reference/list_meta_site_permissions_for_user_group_v2.md): Lists all user groups and their permission for a given meta site.
- [Set user permission for a given app](https://developers.piwik.pro/reference/set_app_permission_for_user_v2.md): Sets user permission for a given app
- [Set user group permission for a given app](https://developers.piwik.pro/reference/set_app_permission_for_user_group_v2.md): It sets permission for a given app for a user group
- [Set user permission for a given meta site](https://developers.piwik.pro/reference/set_meta_site_permission_for_user_v2.md): It sets permission for a given meta site for a user
- [Set user group permission for a given meta site](https://developers.piwik.pro/reference/set_meta_site_permission_for_user_group_v2.md): It sets permission for a given meta site for a user group
- [Permission set](https://developers.piwik.pro/reference/_legacy_set_permission_group_v2.md): Please use Set user permission for a given app instead.
It sets permission for a given entity (ppms/user or ppms/app).
- [Permissions](https://developers.piwik.pro/reference/_legacy_get_permission_groups_v2.md): Please use Users permissions for a given app instead.
Lists all users (but not owners) and their permissions for a given app. List contains both explicit permission of a user and implicit highest permission inherited from user groups which user belongs to.
- [Execute query](https://developers.piwik.pro/reference/post_api-analytics-v1-query.md): API that allows querying the database directly. Please note that each request must be authenticated. #### Copy definition You can use the **View API call definition** option available in Analytics module in each report to get more usage examples based on your existing reports.  #### Compression When requesting large amount of data, make sure to include an **Accept-Encoding: gzip** header to enable compression. #### Cache Please note that all query results are cached for 10 minutes.
- [Execute Real-time query](https://developers.piwik.pro/reference/post_api-analytics-v1-real-time-query.md): API that allows querying the Real-time database directly. Please note that each request must be authenticated.
- [Fetch sessions](https://developers.piwik.pro/reference/post_api-analytics-v1-sessions.md): API that allows fetching raw sessions from the database (event-level data is not available in this API). Please note that each request must be authenticated. #### Compression When requesting large amount of data, make sure to include an **Accept-Encoding: gzip** header to enable compression.
- [Fetch events](https://developers.piwik.pro/reference/post_api-analytics-v1-events.md): API that allows fetching raw events from the database. Please note that each request must be authenticated. #### Compression When requesting large amount of data, make sure to include an **Accept-Encoding: gzip** header to enable compression.s
- [Fetch Real-time events](https://developers.piwik.pro/reference/post_api-analytics-v1-real-time-events.md): API that allows fetching raw Real-time events from the database. Real-time data is retained for only an hour and may be available with a slight delay (up to a couple of minutes), so we highly recommend getting the data older than 3 minutes (and newer than 60). This API is not suitable for feeding external data warehouses as it is not a reliable source of complete data \- for that purpose we recommend regular [Raw data API](/reference/post_api-analytics-v1-events) or Exports. Please note that each request must be authenticated.
- [Create goal](https://developers.piwik.pro/reference/post_api-analytics-v1-manage-goals.md): Create a new goal. Please note that each request must be authenticated.
- [List goals](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-goals.md): Returns a list all goals available for a website. Please note that each request must be authenticated.
- [Get goal](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-goals-id.md): Returns a definition of a specific goal. Please note that each request must be authenticated.
- [Update goal](https://developers.piwik.pro/reference/put_api-analytics-v1-manage-goals-id.md): Update an existing goal. Please note that each request must be authenticated.
- [Delete goal](https://developers.piwik.pro/reference/delete_api-analytics-v1-manage-goals-id.md): Delete the specified goal. Please note that each request must be authenticated.
- [Create custom dimension](https://developers.piwik.pro/reference/post_api-analytics-v1-manage-custom-dimensions.md): Configure new custom dimension.
- [List custom dimensions](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-custom-dimensions.md): Returns a list all custom dimensions available for a website.
- [Get custom dimension](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-custom-dimensions-id.md): Returns a definition of a specific custom dimension.
- [Update custom dimension](https://developers.piwik.pro/reference/put_api-analytics-v1-manage-custom-dimensions-id.md): Configure existing custom dimension.
- [Get custom dimension slots](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-custom-dimensions-slots.md): Returns statistics about available custom dimension slots.
- [Create product custom dimension](https://developers.piwik.pro/reference/post_api-analytics-v1-manage-product-custom-dimensions.md): Configure new custom dimension.
- [List product custom dimensions](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-product-custom-dimensions.md): Returns a list all custom dimensions available for a website.
- [Get product custom dimension](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-product-custom-dimensions-id.md): Returns a definition of a specific custom dimension.
- [Update product custom dimension](https://developers.piwik.pro/reference/put_api-analytics-v1-manage-product-custom-dimensions-id.md): Configure existing custom dimension.
- [Create user annotation](https://developers.piwik.pro/reference/post_api-analytics-v1-manage-annotation-user.md): Create a new user annotation. Please note that each request must be authenticated.
- [List user annotations](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-annotation-user.md): Returns a list all user annotations available for a website. Please note that each request must be authenticated.
- [Get user annotation](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-annotation-user-id.md): Returns a definition of a specific user annotation. Please note that each request must be authenticated.
- [Update user annotation](https://developers.piwik.pro/reference/patch_api-analytics-v1-manage-annotation-user-id.md): Update an existing user annotation. Please note that each request must be authenticated.
- [Delete user annotation](https://developers.piwik.pro/reference/delete_api-analytics-v1-manage-annotation-user-id.md): Delete the specified user annotation. Please note that each request must be authenticated.
- [List System Annotations](https://developers.piwik.pro/reference/get_api-analytics-v1-manage-annotation-system.md): Returns system annotations for the organization. Query parameter `website_id` is required: it selects the website for access-control (`view` permission) and filters results to annotations for that website plus annotations not scoped to a single website. Please note that each request must be authenticated.
- [Apps list](https://developers.piwik.pro/reference/api_app_list_v2.md): Get list of apps
Full example: ``` /api/apps/v2?offset=100&limit=10&sort=name&search=nifty+marketing&permission=view ``` this will list 10 apps ordered ascending by `name` starting on 101th matching search query "nifty marketing".
- [App add](https://developers.piwik.pro/reference/api_app_add_v2.md): It adds app
- [App details](https://developers.piwik.pro/reference/api_apps_details_v2.md): It gets app details
- [App delete](https://developers.piwik.pro/reference/api_app_delete_v2.md): It deletes app with given ID
- [App edit](https://developers.piwik.pro/reference/api_app_edit_v2.md): It edits app
- [App permissions](https://developers.piwik.pro/reference/api_apps_permissions_v2.md): Get app permissions
- [Apps permission for user group](https://developers.piwik.pro/reference/api_apps_user_group_permissions_v2.md): Get apps permission for user group
- [Entry list](https://developers.piwik.pro/reference/audit_log_entries_v1.md): List of Audit Log entries
To specify filters use `?filter[name]=value` syntax (e.g. `?filter[type]=app.added,app.edited`)
To return csv instead of json, use `Accept: text/csv` header
- [List activations](https://developers.piwik.pro/reference/get-settings-activations.md): Get all activations. Requires view permission.
- [Create activation](https://developers.piwik.pro/reference/post-settings-activation.md): Create new activation. Requires edit permission.
- [Fetch activation](https://developers.piwik.pro/reference/get-settings-activation.md): Get a single activation. Requires view permission.
- [Update activation](https://developers.piwik.pro/reference/put-settings-activation.md): Update a single activation. Requires edit permission.
- [Delete activation](https://developers.piwik.pro/reference/delete-settings-activation.md): Delete a single activation. Requires edit permission.
- [Activate activation](https://developers.piwik.pro/reference/post-settings-activation-activate.md): Mark activation as active. Requires edit permission.
- [List attributes](https://developers.piwik.pro/reference/get-settings-app-attributes.md): Returns a list of all profiles attributes available in Data Activation for given app. Requires view permission.
- [Create custom attribute](https://developers.piwik.pro/reference/post-settings-app-custom-attribute.md): Creates a new custom attribute. Requires manage permission.
- [Create custom attribute bulk](https://developers.piwik.pro/reference/post-settings-app-custom-attribute-bulk.md): Creates multiple new custom attributes. Requires manage permission.
- [Update custom attribute](https://developers.piwik.pro/reference/put-settings-app-custom-attribute.md): Updates name of the existing custom attribute. Requires manage permission.
- [Create audience](https://developers.piwik.pro/reference/post-audience.md): Create a new Audience. Requires edit permission.
- [List audiences](https://developers.piwik.pro/reference/get-audiences.md): List Audiences. Requires view permission.
- [Fetch audience](https://developers.piwik.pro/reference/get-audience.md): Get single Audience. Requires view permission.
- [Update audience](https://developers.piwik.pro/reference/put-audience.md): Update existing Audience. Requires edit permission.
- [Delete audience](https://developers.piwik.pro/reference/delete-audience.md): Delete existing audience. Requires edit permission.
- [List enum variants](https://developers.piwik.pro/reference/get-enum.md): Returns enum variants of the specified enum. Requires no permissions.
- [Fetch customers](https://developers.piwik.pro/reference/get-integration-gads-app-customer-id.md): Returns a list of customers Data Activation can send data to. Requires edit permission.
- [Fetch user lists](https://developers.piwik.pro/reference/get-integration-gads-app-user-lists.md): Returns a list of user lists Data Activation can send data to. Requires edit permission.
- [Fetch conversion actions](https://developers.piwik.pro/reference/get-integration-gads-app-conversion-actions.md): Returns a list of conversion actions Data Activation can send data to. Returns only actions of type UPLOAD_CLICKS. Requires edit permission.
- [Fetch last activation logs](https://developers.piwik.pro/reference/get-log-activation-last.md): Returns last 100 activation logs. Requires view permission. This API is deprecated, use [API v3](https://developers.piwik.pro/reference/get-log-activation-last-v3).
- [Fetch activation logs](https://developers.piwik.pro/reference/get-log-activation-last-v3.md): Returns activation logs from the last 30 days, newest to oldest. Requires view permission.
- [Fetch activation statistics](https://developers.piwik.pro/reference/get-log-activation-stats.md): Returns activation statistics for the last 30 days. Requires view permission.
- [Fetch details of activation log](https://developers.piwik.pro/reference/get-log-activation-details.md): Returns details of one activation log. Requires view permission.
- [Count profiles in audience](https://developers.piwik.pro/reference/get-log-audience-version-profile-count.md): Audience's profiles count. Requires view permission.
- [List profiles belonging to given audience.](https://developers.piwik.pro/reference/get-log-audience-version-profile-last.md): Returns profiles belonging to given audience. Requires view permission. This API is deprecated, use [API v3](https://developers.piwik.pro/reference/get-log-audience-version-profile-last-v3).
- [List profiles belonging to given audience](https://developers.piwik.pro/reference/get-log-audience-version-profile-last-v3.md): Returns profiles belonging to given audience, from newest members to oldest members. Requires view permission.
- [Fetch last webhook import requests](https://developers.piwik.pro/reference/get-log-import-webhook-requests-last.md): Returns last 100 webhook import requests. Requires view permission. This API is deprecated, use [API v3](https://developers.piwik.pro/reference/get-log-import-webhook-requests-last-v3).
- [Fetch webhook import requests](https://developers.piwik.pro/reference/get-log-import-webhook-requests-last-v3.md): Returns webhook import requests from the last 30 days, newest to oldest. Requires view permission.
- [Fetch webhook import requests statistics](https://developers.piwik.pro/reference/get-log-import-webhook-requests-stats.md): webhook import requests statistics. Requires view permission.
- [Fetch activation usage statistics](https://developers.piwik.pro/reference/get-fetch-activation-usage-stats.md): Fetches activation usage statistics - the number of activations executed in this month. Requires view permission. This API is deprecated, use [this](https://developers.piwik.pro/reference/get-profiles-activation-usage-stats).
- [Fetch audiences the profile belongs to](https://developers.piwik.pro/reference/get-profile-audiences.md): Get audiences the profile belongs to
- [Get profile by identifier](https://developers.piwik.pro/reference/get-profile-by-identifier.md): Return profile by `id`, `cookie_id` or `user_id`. Requires view permission.
- [Create or update profile attributes](https://developers.piwik.pro/reference/post-profile-attributes.md): A single request can be used to create or update multiple profile attributes. The data payload should consist of a key-value map where each attribute's name is denoted by a key, along with its corresponding value. It will exclusively impact the app associated with the provided `app_id` in the URL path. Provided data must have at least one identifier: - ``user_id`` - ``cookie_id``
- [Data webhook import GET request](https://developers.piwik.pro/reference/get-import-webhook-request.md): Imports data into multiple attributes in an associated profile via webhook GET request.
- [Data webhook import POST request](https://developers.piwik.pro/reference/post-import-webhook-request.md): Imports data into multiple attributes in an associated profile via webhook POST request.
- [Data webhook import PUT request](https://developers.piwik.pro/reference/put-import-webhook-request.md): Imports data into multiple attributes in an associated profile via webhook PUT request.
- [List webhook imports](https://developers.piwik.pro/reference/list-webhook-imports.md): Returns all registered webhook imports for the given app. Requires view permission.
- [Create webhook import](https://developers.piwik.pro/reference/post-webhook-import.md): Create a new webhook import definition. Webhook import ID is optional, if absent, it'll be randomly generated. Requires manage permission.
- [Fetch webhook import](https://developers.piwik.pro/reference/get-webhook-import.md): Get single webhook import definition. Requires view permission.
- [Update webhook import](https://developers.piwik.pro/reference/put-webhook-import.md): Update single webhook import definition. Requires manage permission.
- [Activate webhook import](https://developers.piwik.pro/reference/post-webhook-import-activate.md): Mark the webhook import as active. Requires manage permission.
- [Test webhook](https://developers.piwik.pro/reference/test-webhook.md): Send test webhook request to an external service. Requires view permission.
- [Update attribute accessibility](https://developers.piwik.pro/reference/update-attribute-accessibility.md): Update the accessibility of an attribute. Requires manage permission.
- [Delete profile by identifier](https://developers.piwik.pro/reference/delete-profile-by-identifier.md): Delete a profile by its identifier. The profile can be identified by `id`, `cookie_id`, or `user_id`. This operation permanently removes the profile and all associated data from the system. Requires manage permission.
- [Get publicly available profile attributes](https://developers.piwik.pro/reference/get-profile-public-attributes.md): Retrieve publicly available attributes for a profile identified by cookie_id. This endpoint returns only attributes that are marked as publicly accessible and does not require authentication. In order to secure the PII data, no attribute is returned by default. You need to put each attribute you want to access on the attribute whitelist before it'll be returned by this endpoint. In order to do that, go to `Customer Data Platform` > `Attributes` tab and `enable` attribute for the public API access. It is your responsibility to make sure no user PII data will be available via API.
- [Fetch activation usage statistics](https://developers.piwik.pro/reference/get-profiles-activation-usage-stats.md): Fetches activation usage statistics - the number of activations executed in this month. Requires no permissions.
- [Get App's installation code](https://developers.piwik.pro/reference/get_api-container-settings-v1-app-app-id-installation-code.md)
- [Get organization's opt-out code](https://developers.piwik.pro/reference/get_api-container-settings-v1-organization-organization-opt-out-code.md)
- [Get App's container settings](https://developers.piwik.pro/reference/get_api-container-settings-v1-app-app-id-settings.md)
- [Modify App's container settings](https://developers.piwik.pro/reference/patch_api-container-settings-v1-app-app-id-settings.md)
- [Get the App's container setting](https://developers.piwik.pro/reference/get_api-container-settings-v1-app-app-id-settings-setting-name.md)
- [Remove the App's container setting](https://developers.piwik.pro/reference/delete_api-container-settings-v1-app-app-id-settings-setting-name.md)
- [Modify App's container setting](https://developers.piwik.pro/reference/put_api-container-settings-v1-app-app-id-settings-setting-name.md)
- [Get App's default container settings](https://developers.piwik.pro/reference/get_api-container-settings-v1-app-app-id-default-settings.md)
- [Get list of organization's container settings](https://developers.piwik.pro/reference/get_api-container-settings-v1-organization-organization-settings.md)
- [Modify organization's container settings](https://developers.piwik.pro/reference/patch_api-container-settings-v1-organization-organization-settings.md)
- [Fetch organization's container setting](https://developers.piwik.pro/reference/get_api-container-settings-v1-organization-organization-settings-setting-name.md)
- [Modify organization's container setting](https://developers.piwik.pro/reference/put_api-container-settings-v1-organization-organization-settings-setting-name.md)
- [List meta sites](https://developers.piwik.pro/reference/list_meta_site_v1.md): Lists meta sites
- [Add meta site](https://developers.piwik.pro/reference/add_meta_site_v1.md): Adds meta site with unique name. You can add apps to this meta site in [/api/meta-sites/v1/{meta_site_id}/relationships/apps](#operation/add_apps_to_meta_site_v1) endpoint.
- [Get meta site](https://developers.piwik.pro/reference/get_meta_site_v11.md): Gets meta site
- [Edit meta site](https://developers.piwik.pro/reference/edit_meta_site_v1.md): Edits meta site
- [Delete meta site](https://developers.piwik.pro/reference/delete_meta_site_v1.md): Deletes meta site
- [Add apps to meta site](https://developers.piwik.pro/reference/add_apps_to_meta_site_v1.md): Adds apps to meta site. You can add up to 1000 apps to meta site in one api call.
- [Remove apps from meta site](https://developers.piwik.pro/reference/remove_apps_from_meta_site_v1.md): Removes apps from meta site. You can remove up to 1000 apps from meta site in one api call.
- [List apps in meta site](https://developers.piwik.pro/reference/list_apps_in_meta_site_v1.md): Lists apps that belong to given meta site
- [List apps excluded from meta site](https://developers.piwik.pro/reference/list_apps_excluded_from_meta_site_v1.md): Lists apps that don't belong to given meta site
- [List apps & meta sites](https://developers.piwik.pro/reference/list_apps_and_meta_sites_v1.md): Get list of apps with meta sites. App with `demo` type will be always first on the list if exists (sorting method is irrelevant) Full example: ``` /api/meta-sites/v1/apps-with-meta-sites?offset=100&limit=10&search=nifty+marketing&action=edit ``` this will list 10 apps and meta sites which I have access to (can execute `edit` action) starting on 101th matching search query "nifty marketing".
- [Meta site integrity](https://developers.piwik.pro/reference/meta_site_integrity_v1.md): It informs whether all apps of given meta site have the same currency and timezone as meta site itself
- [Modules list](https://developers.piwik.pro/reference/list_modules_v1.md): List of licensed modules with access for a current user
- [Modules list for given users](https://developers.piwik.pro/reference/accessible_modules_for_users_batch.md): List of modules with access for a list of users
- [Module](https://developers.piwik.pro/reference/get_module_v1.md): Returns module if it is licensed and user has access to it
- [Modules access list for a given user](https://developers.piwik.pro/reference/get_user_modules_access_v1.md): Lists all modules to which a given user has access to. List contains both explicit access for a user and implicit access inherited from user groups which user belongs to.
- [Set modules access for a given user](https://developers.piwik.pro/reference/set_modules_access_v1.md): Sets modules access for a given user
- [Issue OAuth Token](https://developers.piwik.pro/reference/oauth_token_issue.md): Creates access token for OAuth client credentials grant.
- [Get list of changes](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-version-id-changelog.md)
- [List of debug links for a given version](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-version-id-debug-links.md)
- [Create debug link](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-version-id-debug-links.md)
- [Delete debug link](https://developers.piwik.pro/reference/delete_api-tag-v1-app-id-versions-version-id-debug-links-debug-link-id.md)
- [Get operation](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-operations-operation-id.md)
- [List of tags](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-tags.md): ### JSON API compatibility divergence #### Filters In JSON API standard (https://jsonapi.org/recommendations/#filtering) one can request elements with multiple filter values by simply providing them separated by coma: `tags?filter[template]=piwik,adroll` This notation will not work here. You can achieve this functionality by providing multiple filters for the same parameter: `tags?filter[template][]=piwik&filter[template][]=adroll`
- [Edit tags order](https://developers.piwik.pro/reference/patch_api-tag-v1-app-id-tags.md)
- [Create tag](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-tags.md): See more details about API changes: Deprecations and changes
- [List of triggers for a tag](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-tags-tag-id-triggers.md)
- [Get tag](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-tags-tag-id.md)
- [Edit tag](https://developers.piwik.pro/reference/patch_api-tag-v1-app-id-tags-tag-id.md): See more details about API changes: Deprecations and changes
- [Delete tag](https://developers.piwik.pro/reference/delete_api-tag-v1-app-id-tags-tag-id.md)
- [Copy tag](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-tags-tag-id-copy.md): This action results in asynchronous operation. See more: Asynchronous operations
- [List of triggers](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-triggers.md): ### JSON API compatibility divergence #### Filters In JSON API standard (https://jsonapi.org/recommendations/#filtering) one can request elements with multiple filter values by simply providing them separated by coma: `triggers?filter[trigger_type]=click,event` This notation will not work here. You can achieve this functionality by providing multiple filters for the same parameter: `triggers?filter[trigger_type][]=click&filter[trigger_type][]=event`
- [Create trigger](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-triggers.md)
- [List of tags for a given trigger](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-triggers-trigger-id-tags.md)
- [Get trigger](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-triggers-trigger-id.md)
- [Edit trigger](https://developers.piwik.pro/reference/patch_api-tag-v1-app-id-triggers-trigger-id.md)
- [Delete trigger](https://developers.piwik.pro/reference/delete_api-tag-v1-app-id-triggers-trigger-id.md)
- [Copy trigger](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-triggers-trigger-id-copy.md): This action results in asynchronous operation. See more: Asynchronous operations
- [List of variables](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables.md): ### JSON API compatibility divergence #### Filters In JSON API standard (https://jsonapi.org/recommendations/#filtering) one can request elements with multiple filter values by simply providing them separated by coma: `variables?filter[variable_type]=url,constant` This notation will not work here. You can achieve this functionality by providing multiple filters for the same parameter: `variables?filter[variable_type][]=url&filter[variable_type][]=constant`
- [Create variable](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-variables.md)
- [Get variable](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables-variable-id.md)
- [Edit variable](https://developers.piwik.pro/reference/patch_api-tag-v1-app-id-variables-variable-id.md): It is possible to edit variable's type. Just make a request with a new type and all required attributes from its schema.
- [Delete variable](https://developers.piwik.pro/reference/delete_api-tag-v1-app-id-variables-variable-id.md)
- [Copy variable](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-variables-variable-id-copy.md): This action results in asynchronous operation. See more: Asynchronous operations
- [List of versions](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions.md): ### JSON API compatibility divergence #### Filters In JSON API standard (https://jsonapi.org/recommendations/#filtering) one can request elements with multiple filter values by simply providing them separated by coma: `versions?filter[version_type][]=published,draft` This notation will not work here. You can achieve this functionality by providing multiple filters for the same parameter: `versions?filter[version_type][]=published&filter[version_type][]=draft`
- [Get version](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-version-id.md)
- [Edit version](https://developers.piwik.pro/reference/patch_api-tag-v1-app-id-versions-version-id.md)
- [Get draft version](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-draft.md)
- [Get published version](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-published.md)
- [Restore published version](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-published-restore.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Restore version by id](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-version-id-restore.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Snapshot draft version](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-draft-snapshot.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Create export file](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-version-id-export-files.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Get export file](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-version-id-export-files-export-file-id.md)
- [Publish draft version](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-draft-publish.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Publish version by id](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-version-id-publish.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Import version](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-import.md): This action results in asynchronous operation. See more: Asynchronous operations
- [Import version from file](https://developers.piwik.pro/reference/post_api-tag-v1-app-id-versions-import-file.md): This action results in asynchronous operation. See more: Asynchronous operations
- [List of triggers related to a given trigger](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-triggers-trigger-id-triggers.md)
- [List of variables for a tag](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-tags-tag-id-variables.md)
- [List of variables for a given trigger](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-triggers-trigger-id-variables.md)
- [List of tags for a given variable](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables-variable-id-tags.md)
- [List of triggers for a given variable](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables-variable-id-triggers.md)
- [List of variables that are required by the given variable](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables-variable-id-required-variables.md)
- [List of variables that require the given variable](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-variables-variable-id-required-by-variables.md)
- [Get version overview](https://developers.piwik.pro/reference/get_api-tag-v1-app-id-versions-version-id-overview.md): Get an overview of the version including statistics about tags, triggers, and variables.
- [Logs](https://developers.piwik.pro/reference/get_api-tracker-v1-log.md): Get stream of logs
- [Debugger](https://developers.piwik.pro/reference/get_api-tracker-v1-debugger.md): Get stream of sessions
- [Tracking endpoint](https://developers.piwik.pro/reference/get_ppms-php.md): Endpoint tracking events (page views, goal conversions, custom events). *IMPORTANT:* All of `string` type values HAVE TO be urlencoded in raw URL, according to https://url.spec.whatwg.org/ specification, as shown in examples. Decoded value is provided in at the end of description.
- [Tracking endpoint](https://developers.piwik.pro/reference/post_ppms-php.md): Endpoint for tracking events such as page views, goal conversions, and custom events. This endpoint requires the same parameters as the [GET request](https://developers.piwik.pro/reference/get_ppms-php). Tracking parameters can be provided in three ways: - As a JSON object in the request body (as shown in the example), - As a query string in the request body (e.g., `?idsite=892d04bd-6e2b-4914-bfb4-bac721b37235&url=http%3A%2F%2Fex.com%2F&rec=1`), - As a query string in the URL with an empty request body (similar to a GET request but sent using the POST method).
- [Get global, tracker related settings of apps](https://developers.piwik.pro/reference/get_api-tracker-v1-settings-app-global.md)
- [Edit global, tracker related settings of apps](https://developers.piwik.pro/reference/patch_api-tracker-v1-settings-app-global.md)
- [Get global tracker settings](https://developers.piwik.pro/reference/api_get_global_tracker_settings_v2.md): It gets global tracker settings.
- [Edit global tracker settings](https://developers.piwik.pro/reference/api_edit_global_tracker_settings_v2.md): It edits global tracker settings.
- [Get tracker settings of an app](https://developers.piwik.pro/reference/api_get_app_tracker_settings_v2.md): It gets tracker settings of an app.
- [Edit tracker settings of an app](https://developers.piwik.pro/reference/api_edit_app_tracker_settings_v2.md): It edits tracker settings of an app.
- [Delete given tracker setting of an app](https://developers.piwik.pro/reference/api_delete_app_tracker_setting_v2.md): It deletes given tracker setting of an app. Then global setting will be used instead.
- [Get tracker settings of an app by it's url](https://developers.piwik.pro/reference/api_get_app_by_url_tracker_settings_v2.md): It gets tracker settings of an app that first matched against given url. Used mostly in log analytics for website autorecognition.
- [List user groups](https://developers.piwik.pro/reference/list_user_group_v1.md): Lists user groups
- [Add user group](https://developers.piwik.pro/reference/add_user_group_v1.md): Adds user group with unique name
- [Get user group](https://developers.piwik.pro/reference/usergroupdetails_v1.md): Gets specific user group details
- [Edit user group](https://developers.piwik.pro/reference/edit_user_group_v1.md): Updates user group details
- [Delete user group](https://developers.piwik.pro/reference/delete_user_group_v1.md): Deletes user group
- [Get user group members](https://developers.piwik.pro/reference/list_user_group_users_v1.md): Gets user group members
- [Get users excluded from group](https://developers.piwik.pro/reference/list_user_group_users_excluded_v1.md): Gets users excluded from given user group
- [Add users to user group](https://developers.piwik.pro/reference/add_users_to_group_v1.md): Adds users to user group
- [Remove users from user group](https://developers.piwik.pro/reference/remove_users_from_group_v1.md): Remove users from user group
- [Set permission group](https://developers.piwik.pro/reference/set_permission_group_for_user_group_v1.md): Please use Set user group permission for a given app or Set user group permission for a given meta site instead.
Sets permission group to entity for user group
- [Invite user](https://developers.piwik.pro/reference/api_users_invited_v2.md)
- [Create user](https://developers.piwik.pro/reference/api_users_add_v2.md): Please use Invite user instead.
It adds user.
- [Get users list](https://developers.piwik.pro/reference/api_users_list_v2.md)
- [Get details of an user](https://developers.piwik.pro/reference/api_users_user_details_v2.md)
- [Delete user](https://developers.piwik.pro/reference/api_users_delete_v2.md)
- [Edit user](https://developers.piwik.pro/reference/api_users_edit_v2.md)
- [Change user role](https://developers.piwik.pro/reference/api_users_change_role_v2.md)
- [Change my password](https://developers.piwik.pro/reference/api_users_me_change_password_v2.md)
- [Current user details](https://developers.piwik.pro/reference/deprecated_api_user_details_v2.md): Please use Current user details instead.
It gets current user details.
- [Current user details](https://developers.piwik.pro/reference/api_users_me_details_v2.md)
- [Edit own account](https://developers.piwik.pro/reference/api_users_me_edit_v2.md)
## Pages
- [We couldn’t find that page](https://developers.piwik.pro/404.md)
## Changelog
- [18.71.0](https://developers.piwik.pro/changelog/18-71-0.md)
- [18.70.0](https://developers.piwik.pro/changelog/18-70-0.md)
- [18.69.0](https://developers.piwik.pro/changelog/18-69-0.md)
- [18.68.0](https://developers.piwik.pro/changelog/18-68-0.md)
- [18.67.0](https://developers.piwik.pro/changelog/18-67-0.md)