Lightdash Notifications API

The Notifications API from Lightdash — 2 operation(s) for notifications.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

lightdash-notifications-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Lightdash AiAgents Notifications API
  version: 0.3156.1
  description: 'Open API documentation for all public Lightdash API endpoints. # Authentication Before you get started, you might need to create a Personal Access Token to authenticate via the API. You can create a token by following this guide: https://docs.lightdash.com/references/personal_tokens

    '
  license:
    name: MIT
  contact:
    name: Lightdash Support
    email: support@lightdash.com
    url: https://docs.lightdash.com/help-and-contact/contact/contact_info/
servers:
- url: /
tags:
- name: Notifications
paths:
  /api/v1/notifications:
    get:
      operationId: getNotifications
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiGetNotifications'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Gets notifications for a user based on the type
      summary: Get notifications
      tags:
      - Notifications
      security: []
      parameters:
      - in: query
        name: type
        required: true
        schema:
          $ref: '#/components/schemas/ApiNotificationResourceType'
  /api/v1/notifications/{notificationId}:
    patch:
      operationId: updateNotification
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiSuccessEmpty'
        default:
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiErrorPayload'
      description: Update notification
      summary: Update notification
      tags:
      - Notifications
      security: []
      parameters:
      - description: the id of the notification
        in: path
        name: notificationId
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ApiNotificationUpdateParams'
components:
  schemas:
    ApiNotificationResourceType.DashboardComments:
      enum:
      - dashboardComments
      type: string
    Pick_Notification.viewed_:
      properties:
        viewed:
          type: boolean
      required:
      - viewed
      type: object
      description: From T, pick a set of properties whose keys are in the union K
    ApiGetNotifications:
      properties:
        results:
          $ref: '#/components/schemas/ApiNotificationsResults'
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - results
      - status
      type: object
    AnyType:
      description: 'This AnyType is an alias for any

        The goal is to make it easier to identify any type in the codebase

        without having to eslint-disable all the time

        These are only used on legacy `any` types, don''t use it for new types.

        This is added on a separate file to avoid circular dependencies.'
    ApiErrorPayload:
      properties:
        error:
          properties:
            data:
              $ref: '#/components/schemas/AnyType'
              description: Optional data containing details of the error
            message:
              type: string
              description: A friendly message summarising the error
            name:
              type: string
              description: Unique name for the type of error
            statusCode:
              type: number
              format: integer
              description: HTTP status code
          required:
          - name
          - statusCode
          type: object
        status:
          type: string
          enum:
          - error
          nullable: false
      required:
      - error
      - status
      type: object
      description: 'The Error object is returned from the api any time there is an error.

        The message contains'
    ApiSuccessEmpty:
      properties:
        results: {}
        status:
          type: string
          enum:
          - ok
          nullable: false
      required:
      - status
      type: object
    ApiNotificationResourceType:
      enum:
      - dashboardComments
      type: string
    ApiNotificationsResults:
      items:
        $ref: '#/components/schemas/Notification'
      type: array
    NotificationDashboardComment:
      allOf:
      - $ref: '#/components/schemas/NotificationBase'
      - properties:
          metadata:
            $ref: '#/components/schemas/NotificationDashboardTileCommentMetadata'
          resourceType:
            $ref: '#/components/schemas/ApiNotificationResourceType.DashboardComments'
        required:
        - resourceType
        type: object
    ApiNotificationUpdateParams:
      $ref: '#/components/schemas/Pick_Notification.viewed_'
    NotificationBase:
      properties:
        url:
          type: string
        message:
          type: string
        resourceUuid:
          type: string
        viewed:
          type: boolean
        createdAt:
          type: string
          format: date-time
        notificationId:
          type: string
      required:
      - viewed
      - createdAt
      - notificationId
      type: object
    Notification:
      $ref: '#/components/schemas/NotificationDashboardComment'
    NotificationDashboardTileCommentMetadata:
      properties:
        dashboardUuid:
          type: string
        dashboardName:
          type: string
        dashboardTileUuid:
          type: string
        dashboardTileName:
          type: string
      required:
      - dashboardUuid
      - dashboardName
      - dashboardTileUuid
      - dashboardTileName
      type: object
      additionalProperties: true
  securitySchemes:
    session_cookie:
      type: apiKey
      in: cookie
      name: connect.sid
    api_key:
      type: apiKey
      in: header
      name: Authorization
      description: Value should be 'ApiKey <your key>'