> ## Documentation Index
> Fetch the complete documentation index at: https://perfgrid.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# List PSI Metrics

> Requires the `stats.read` token ability.

The latest PageSpeed Insights performance score per owned domain, per
strategy, over the last 30 days.



## OpenAPI

````yaml /api-reference/openapi.json get /psi
openapi: 3.1.0
info:
  title: Hosting Panel API
  version: 1.0.0
  description: >-
    The customer-facing hosting panel API. A request is scoped to the hosting
    account its bearer token belongs to; the token abilities decide which
    endpoints it may call.
servers:
  - url: https://hosting-panel.net/api/v1
security:
  - sanctum: []
tags:
  - name: Account
  - name: Domains
  - name: DNS
  - name: Email Accounts
  - name: Forwarders
  - name: Databases
  - name: FTP Accounts
  - name: Cron Jobs
  - name: URL Schedules
  - name: Node.js Applications
  - name: Valkey
  - name: Photon Optimizer
  - name: Statistics
  - name: PSI Metrics
  - name: PHP Versions
paths:
  /psi:
    get:
      tags:
        - PSI Metrics
      summary: List PSI Metrics
      description: |-
        Requires the `stats.read` token ability.

        The latest PageSpeed Insights performance score per owned domain, per
        strategy, over the last 30 days.
      operationId: psi.index
      responses:
        '200':
          description: Array of `PsiResource`
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PsiResource'
                required:
                  - data
        '401':
          $ref: '#/components/responses/AuthenticationException'
components:
  schemas:
    PsiResource:
      type: object
      properties:
        domain:
          type: string
        mobile:
          type: object
          properties:
            score:
              type:
                - integer
                - 'null'
            measured_at:
              type: string
          required:
            - score
            - measured_at
        desktop:
          type: object
          properties:
            score:
              type:
                - integer
                - 'null'
            measured_at:
              type: string
          required:
            - score
            - measured_at
      required:
        - domain
        - mobile
        - desktop
      title: PsiResource
  responses:
    AuthenticationException:
      description: Unauthenticated
      content:
        application/json:
          schema:
            type: object
            properties:
              message:
                type: string
                description: Error overview.
            required:
              - message
  securitySchemes:
    sanctum:
      type: http
      description: >-
        An API access token, sent as `Authorization: Bearer <token>`. Its
        abilities decide which endpoints it may call.
      scheme: bearer

````