openapi: 3.1.0 info: title: Sentry Dashboards API description: >- The Dashboards API provides endpoints for managing custom dashboards in Sentry organizations, including creating, listing, retrieving, editing, and deleting dashboards for visualizing error and performance data. version: 0.0.1 contact: name: Sentry Support url: https://sentry.io/support/ email: support@sentry.io servers: - url: https://sentry.io/api/0 description: Sentry Production API security: - BearerAuth: [] tags: - name: Dashboards description: Manage custom dashboards and their widgets paths: /organizations/{organization_id_or_slug}/dashboards/: get: operationId: listOrganizationDashboards summary: Sentry List an organization's custom dashboards description: Returns a list of custom dashboards for the given organization. tags: - Dashboards parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' - name: cursor in: query description: Pagination cursor. schema: type: string responses: '200': description: A list of dashboards. content: application/json: schema: type: array items: $ref: '#/components/schemas/DashboardSummary' '401': description: Unauthorized. '403': description: Forbidden. post: operationId: createOrganizationDashboard summary: Sentry Create a new dashboard for an organization description: Creates a new custom dashboard for the given organization. tags: - Dashboards parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' requestBody: required: true content: application/json: schema: type: object required: - title properties: title: type: string description: The title of the dashboard. widgets: type: array items: $ref: '#/components/schemas/Widget' description: Widgets to include in the dashboard. responses: '201': description: Dashboard created. content: application/json: schema: $ref: '#/components/schemas/Dashboard' '400': description: Bad request. '401': description: Unauthorized. '403': description: Forbidden. /organizations/{organization_id_or_slug}/dashboards/{dashboard_id}/: get: operationId: retrieveOrganizationDashboard summary: Sentry Retrieve an organization's custom dashboard description: Returns a custom dashboard with its widgets. tags: - Dashboards parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' - $ref: '#/components/parameters/DashboardId' responses: '200': description: Dashboard details. content: application/json: schema: $ref: '#/components/schemas/Dashboard' '401': description: Unauthorized. '404': description: Dashboard not found. put: operationId: editOrganizationDashboard summary: Sentry Edit an organization's custom dashboard description: Updates a custom dashboard. tags: - Dashboards parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' - $ref: '#/components/parameters/DashboardId' requestBody: required: true content: application/json: schema: type: object properties: title: type: string widgets: type: array items: $ref: '#/components/schemas/Widget' responses: '200': description: Dashboard updated. content: application/json: schema: $ref: '#/components/schemas/Dashboard' '400': description: Bad request. '401': description: Unauthorized. '404': description: Dashboard not found. delete: operationId: deleteOrganizationDashboard summary: Sentry Delete an organization's custom dashboard description: Deletes a custom dashboard. tags: - Dashboards parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' - $ref: '#/components/parameters/DashboardId' responses: '204': description: Dashboard deleted. '401': description: Unauthorized. '404': description: Dashboard not found. components: securitySchemes: BearerAuth: type: http scheme: bearer description: Authentication token for the Sentry API. parameters: OrganizationIdOrSlug: name: organization_id_or_slug in: path required: true description: The ID or slug of the organization. schema: type: string DashboardId: name: dashboard_id in: path required: true description: The ID of the dashboard. schema: type: string schemas: DashboardSummary: type: object properties: id: type: string title: type: string dateCreated: type: string format: date-time createdBy: type: object properties: id: type: string name: type: string email: type: string widgetDisplay: type: array items: type: string required: - id - title Dashboard: type: object properties: id: type: string title: type: string dateCreated: type: string format: date-time createdBy: type: object properties: id: type: string name: type: string email: type: string widgets: type: array items: $ref: '#/components/schemas/Widget' required: - id - title Widget: type: object properties: id: type: string title: type: string displayType: type: string enum: - line - area - stacked_area - bar - table - big_number - top_n interval: type: string queries: type: array items: type: object properties: id: type: string name: type: string fields: type: array items: type: string conditions: type: string orderby: type: string layout: type: object properties: x: type: integer 'y': type: integer w: type: integer h: type: integer minH: type: integer required: - title - displayType - queries