openapi: 3.2.0 info: title: WordPress.com REST API v1.1 Insights API version: v1.1 description: 'The WordPress.com REST API, operated by Automattic. Derived by API Evangelist from Automattic''s own self-describing help document at https://public-api.wordpress.com/rest/v1.1/help (Accept: application/json), which publishes every endpoint''s method, path, description, path/query/body parameters and response fields. Security schemes come from https://public-api.wordpress.com/.well-known/openid-configuration. The error envelope was observed live.' termsOfService: https://wordpress.com/tos/ contact: name: WordPress.com Developer Resources url: https://developer.wordpress.com/docs/api/ x-derived-from: https://public-api.wordpress.com/rest/v1.1/help x-derived-by: API Evangelist enrichment pipeline servers: - url: https://public-api.wordpress.com/rest/v1.1 security: - bearerAuth: [] tags: - name: insights paths: /insights: get: operationId: getInsights summary: Get a list of stats/metrics/insights that the current user has access to. description: Get a list of stats/metrics/insights that the current user has access to. tags: - insights responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Unique ID for a WordPress.com Application name: type: string description: Name of WordPress.com Application insights: type: array items: {} description: List of metrics today: type: array items: {} description: A list of today's metrics has_custom: type: boolean description: Does a report have custom (whitelisted) stats? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /insights/{slug}: get: operationId: getInsightsBySlug summary: Get raw data for a particular graph. description: Get raw data for a particular graph. tags: - insights responses: '200': description: OK content: application/json: schema: type: object properties: points: type: integer description: The number of datapoints returned. data: type: array items: {} description: Numbers of actions by timestamp. summaries: type: array items: {} description: Summary for the current day/week/month/year/decade, including % change. started_tracking: type: string description: The date stats began collecting. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: slug in: path required: true schema: type: string description: Report slug (rest-api-calls, rest-api-writes, etc). If a slash is present, it must be urlencoded. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: unit in: query required: false schema: type: string description: By default, weekly stats are provided in the data array. You can also pass daily, monthly, or cumulative to get totals for different time periods. - name: after in: query required: false schema: type: integer description: Return data only since the specified UNIX time. - name: before in: query required: false schema: type: integer description: Return data collected on or before the specified UNIX time. components: schemas: Error: type: object description: WordPress.com REST API error envelope (observed live). properties: error: type: string examples: - not_found message: type: string securitySchemes: oauth2: type: oauth2 description: WordPress.com OAuth 2.1 (see /.well-known/openid-configuration). flows: authorizationCode: authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize tokenUrl: https://public-api.wordpress.com/oauth2-1/token refreshUrl: https://public-api.wordpress.com/oauth2-1/token scopes: global: '' auth: '' openid: '' profile: '' email: '' users: '' sites: '' posts: '' comments: '' taxonomy: '' follow: '' sharing: '' freshly-pressed: '' notifications: '' insights: '' read: '' stats: '' media: '' menus: '' batch: '' videos: '' bearerAuth: type: http scheme: bearer description: 'Authorization: Bearer '