WP Engine Site Reports API

The Site Reports API from WP Engine — 1 operation(s) for site reports.

OpenAPI Specification

wpengine-site-reports-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: 'The API described in this document is subject to change.

    '
  version: 1.17.0
  title: WP Engine Hosting Platform Account Site Reports API
  termsOfService: https://wpengine.com/legal/terms-of-service/
host: api.wpengineapi.com
basePath: /v1
schemes:
- https
tags:
- name: Site Reports
paths:
  /site_reports/templates:
    get:
      tags:
      - Site Reports
      summary: List report templates
      description: '# Description

        Returns a list of report templates available for Site Reports.


        Templates define the structure, branding, and sections included in generated reports.

        '
      operationId: listSiteReportTemplates
      produces:
      - application/json
      parameters:
      - $ref: '#/parameters/authorization'
      - name: account_id
        in: query
        format: uuid
        description: Account ID to filter templates. This parameter is required.
        required: true
        type: string
        x-example: eeda3227-9a39-46ae-9e14-20958bb4e6c9
      responses:
        '200':
          description: List of report templates
          schema:
            type: object
            properties:
              templates:
                type: array
                items:
                  $ref: '#/definitions/Template'
        '400':
          description: Bad Request
          schema:
            $ref: '#/definitions/BadRequestErrorResponse'
        '401':
          description: Authentication Error
          schema:
            $ref: '#/definitions/AuthenticationErrorResponse'
        '403':
          description: Not authorized
          schema:
            $ref: '#/definitions/ForbiddenErrorResponse'
        '404':
          description: Not found
          schema:
            $ref: '#/definitions/NotFoundErrorResponse'
        '429':
          $ref: '#/definitions/TooManyRequestsOperation'
        '500':
          description: Internal Server Error
          schema:
            $ref: '#/definitions/InternalServerErrorResponse'
        '502':
          $ref: '#/definitions/BadGatewayOperation'
        '503':
          $ref: '#/definitions/ServiceUnavailableOperation'
      security:
      - basicAuth: []
      x-amazon-apigateway-integration:
        uri: https://my.wpengine.com/capi/v1/site_reports/templates
        responses:
          '200':
            statusCode: '200'
          '400':
            statusCode: '400'
          '401':
            statusCode: '401'
          '403':
            statusCode: '403'
          '404':
            statusCode: '404'
          '429':
            statusCode: '429'
          '500':
            statusCode: '500'
          '502':
            statusCode: '502'
          '503':
            statusCode: '503'
          default:
            statusCode: '500'
        requestParameters:
          integration.request.header.X-Request-ID: context.requestId
          integration.request.header.sourceIp: context.identity.sourceIp
          integration.request.header.authorization: method.request.header.Authorization
          integration.request.querystring.account_id: method.request.querystring.account_id
        passthroughBehavior: when_no_match
        httpMethod: GET
        type: http
definitions:
  InternalServerErrorResponse:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: A message regarding the error that occurred on the server
        example: An unexpected error occurred, please try again in a few minutes
  NotFoundErrorResponse:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: A message regarding the error that occurred on the server
        example: Not Found
      documentation_url:
        type: string
        description: (Optional) A URL where documentation regarding this specific error can be found
  Template:
    type: object
    required:
    - template_uuid
    - template_name
    properties:
      template_uuid:
        type: string
        format: uuid
        example: 123e4567-e89b-12d3-a456-426614174000
        description: Unique identifier for the template
      template_name:
        type: string
        maxLength: 100
        example: Site Report
        description: Display name of the template
      description:
        type: string
        example: Comprehensive site performance and analytics report
        description: Detailed description of what the template includes
      company_name:
        type: string
        example: WP Engine
        description: Company name displayed on the report
      brand_colour:
        type: string
        example: '#0ECAD4'
        description: Brand color used in the report (hex format)
      logo_url:
        type: string
        format: uri
        example: https://storage.googleapis.com/crs-assets/logos/wpengine-logo.png
        description: URL to the company logo
      preview_image_url:
        type: string
        format: uri
        example: https://storage.googleapis.com/crs-assets/previews/site-report-preview.png
        description: URL to template preview image
      sections:
        type: array
        items:
          type: object
          properties:
            name:
              type: string
              example: cover
        example:
        - name: cover
        - name: overview
        - name: usage
        - name: themes
        description: List of sections included in this template
      created_at:
        type: string
        format: date-time
        example: '2024-01-15T10:30:00Z'
        description: Timestamp when the template was created
      updated_at:
        type: string
        format: date-time
        example: '2024-03-20T14:45:00Z'
        description: Timestamp when the template was last updated
    description: Report template defining structure and branding for generated reports
  TooManyRequestsOperation:
    description: Too many requests
  BadRequestErrorResponse:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: A message regarding the error that occurred on the server
        example: 'Invalid Site: Name cannot be empty.'
      documentation_url:
        type: string
        description: (Optional) A URL where documentation regarding this specific error can be found
      errors:
        type: array
        description: An array of error objects describing specific errors that arose when servicing the request
        items:
          $ref: '#/definitions/ResourceError'
  ResourceError:
    type: object
    required:
    - resource
    - field
    - type
    - code
    - message
    properties:
      resource:
        type: string
        description: The name of the resource that was being processed when the error occurred
        example: Site
      field:
        type: string
        description: (Optional) The specific field associated with the error
        example: name
      type:
        type: string
        description: (Optional) A type associated with the error. `invalid_value`, `access_error`, `value_unavailable`
        example: invalid_value
      code:
        type: string
        description: (Optional) A machine code relating to the error that occurred with the field and resource
        example: too_long
      message:
        type: string
        description: (Optional) A human-readable message relating to the error that occurred with the field and resource
        example: Name is too long (maximum is 40 characters)
  ServiceUnavailableOperation:
    description: Service unavailable
  BadGatewayOperation:
    description: An invalid response was received from an upstream server
  ForbiddenErrorResponse:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: A message regarding the error that occurred on the server
        example: You don't have permission to perform that action
      documentation_url:
        type: string
        description: (Optional) A URL where documentation regarding this specific error can be found
  AuthenticationErrorResponse:
    type: object
    required:
    - message
    properties:
      message:
        type: string
        description: A message regarding the error that occurred on the server
        example: Bad Credentials
      documentation_url:
        type: string
        description: (Optional) A URL where documentation regarding this specific error can be found
parameters:
  authorization:
    name: Authorization
    in: header
    type: string
    format: uuid
securityDefinitions:
  basicAuth:
    type: basic
    description: 'API username and password from Portal''s API Access page: https://my.wpengine.com/api_access'