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

# List Application Dashboards

> Lists the dashboards visible to the caller in an application — the v2 replacement for GET /v1/api/dashboard/list-workspace-dashboards. For a project-user token the list matches what that user's embedded view shows. Authenticate with an Upsolve API key or a project-user token (from /v1/api/projects/user-token, or /v1/api/tenant/register-tenant after migration).



## OpenAPI

````yaml get /v2/api/applications/{applicationId}/dashboards
openapi: 3.1.0
info:
  title: Upsolve API
  version: 1.4.2
servers:
  - url: https://api.upsolve.ai
security: []
tags: []
paths:
  /v2/api/applications/{applicationId}/dashboards:
    get:
      summary: List dashboards in an application
      description: >-
        Lists the dashboards visible to the caller in an application — the v2
        replacement for GET /v1/api/dashboard/list-workspace-dashboards. For a
        project-user token the list matches what that user's embedded view
        shows. Authenticate with an Upsolve API key or a project-user token
        (from /v1/api/projects/user-token, or /v1/api/tenant/register-tenant
        after migration).
      operationId: GetV2ApiApplicationsApplicationIdDashboards
      parameters:
        - name: apiKey
          in: query
          required: false
          description: >-
            Upsolve API key, generated under Account → Developer settings in the
            Upsolve Hub. Keys are user-scoped: pass organizationId alongside the
            key to select which org to act on.
          schema:
            description: >-
              Upsolve API key, generated under Account → Developer settings in
              the Upsolve Hub. Keys are user-scoped: pass organizationId
              alongside the key to select which org to act on.
            type: string
            minLength: 1
        - name: organizationId
          in: query
          required: false
          description: >-
            The ID of the organization. Required when using Supabase JWT
            authentication.
          schema:
            type: string
            description: >-
              The ID of the organization. Required when using Supabase JWT
              authentication.
        - name: connectionId
          in: query
          required: false
          description: The ID of the connection a guest has access to
          schema:
            type: string
            description: The ID of the connection a guest has access to
        - name: applicationId
          in: path
          required: true
          description: >-
            ID of the application. List them with GET /v2/api/applications.
            After a v1 migration, each v1 workspace became one application —
            `legacyWorkspaceId` on the list says which.
          schema:
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
            description: >-
              ID of the application. List them with GET /v2/api/applications.
              After a v1 migration, each v1 workspace became one application —
              `legacyWorkspaceId` on the list says which.
        - name: projectOrganizationId
          in: query
          required: false
          description: >-
            API key only: limit user dashboards to this project organization's
            space. Without it an API key sees every space's dashboards. Ignored
            for a project-user token.
          schema:
            description: >-
              API key only: limit user dashboards to this project organization's
              space. Without it an API key sees every space's dashboards.
              Ignored for a project-user token.
            type: string
            format: uuid
            pattern: >-
              ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
      responses:
        '200':
          description: GET /v2/api/applications/:applicationId/dashboards Positive response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    const: success
                  data:
                    type: object
                    properties:
                      dashboards:
                        type: array
                        items:
                          type: object
                          properties:
                            id:
                              type: string
                              description: >-
                                Dashboard ID. Pass it as `dashboardId` to the
                                /share/application/{applicationId} iframe, or to
                                the other v2 dashboard endpoints.
                            name:
                              type: string
                              description: Dashboard display name
                            kind:
                              type: string
                              enum:
                                - template
                                - dashboard
                              description: >-
                                `template` is a dashboard shared with every user
                                of the application (created with an API key, or
                                by an admin in the Hub). `dashboard` belongs to
                                one user's space — their own, or their
                                customized copy of a template.
                            sourceTemplateId:
                              type:
                                - string
                                - 'null'
                            ownerProjectUserId:
                              type:
                                - string
                                - 'null'
                            projectOrganizationId:
                              type:
                                - string
                                - 'null'
                            isDefault:
                              type: boolean
                              description: >-
                                Whether this is the application's default
                                dashboard (what the iframe opens when no
                                dashboardId is given).
                            legacyDashboardId:
                              type:
                                - string
                                - 'null'
                            createdAt:
                              type:
                                - string
                                - 'null'
                            updatedAt:
                              type:
                                - string
                                - 'null'
                          required:
                            - id
                            - name
                            - kind
                            - sourceTemplateId
                            - ownerProjectUserId
                            - projectOrganizationId
                            - isDefault
                            - legacyDashboardId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        description: >-
                          For a project-user token: exactly what that user's
                          embedded view shows — the application's templates
                          (each replaced by the user's own copy once they have
                          customized it) followed by the dashboards in their
                          space. For an API key: the templates followed by user
                          dashboards.
                    required:
                      - dashboards
                    additionalProperties: false
                required:
                  - status
                  - data
                additionalProperties: false
        '400':
          description: GET /v2/api/applications/:applicationId/dashboards Negative response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    const: error
                  error:
                    type: object
                    properties:
                      message:
                        type: string
                      code:
                        type: string
                      details:
                        type: object
                        propertyNames:
                          type: string
                        additionalProperties: {}
                    required:
                      - message
                    additionalProperties: false
                required:
                  - status
                  - error
                additionalProperties: false
      security:
        - APIKEY_2: []
components:
  securitySchemes:
    APIKEY_2:
      type: apiKey
      in: header
      name: authorization

````