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'