OpenMetadata Notification Templates API

Notification templates for customizing event notifications

Operations 20

GET /v1/notificationTemplates List notification templates #
PUT /v1/notificationTemplates Create or update a notification template #
POST /v1/notificationTemplates Create a notification template #
GET /v1/notificationTemplates/name/{fqn} Get a notification template by fully qualified name #
DELETE /v1/notificationTemplates/name/{fqn} Delete a notification template by fully qualified name #
PATCH /v1/notificationTemplates/name/{fqn} Update a notification template by name #
GET /v1/notificationTemplates/{id} Get a notification template by Id #
DELETE /v1/notificationTemplates/{id} Delete a notification template by Id #
PATCH /v1/notificationTemplates/{id} Update a notification template #
DELETE /v1/notificationTemplates/async/{id} Asynchronously delete a notification template by Id #
GET /v1/notificationTemplates/helpers Get available Handlebars helpers #
GET /v1/notificationTemplates/{id}/versions/{version} Get a version of the notification template #
GET /v1/notificationTemplates/history List all entity versions within a time range #
GET /v1/notificationTemplates/{id}/versions List notification template versions #
POST /v1/notificationTemplates/render Render notification template with mock data #
PUT /v1/notificationTemplates/name/{fqn}/reset Reset a notification template to its default state by fully qualified name #
PUT /v1/notificationTemplates/{id}/reset Reset a notification template to its default state by Id #
PUT /v1/notificationTemplates/restore Restore a soft deleted notification template #
POST /v1/notificationTemplates/send Validate and send notification template to external destinations #
POST /v1/notificationTemplates/validate Validate notification template syntax #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openmetadata-notification-templates-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openmetadata-notification-templates-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpenMetadata APIs Agent Executions Notification Templates API
  description: Common types and API definition for OpenMetadata
  contact:
    name: OpenMetadata
    url: https://open-metadata.org
    email: openmetadata-dev@googlegroups.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1.13'
servers:
- url: /api
  description: Current Host
- url: http://localhost:8585/api
  description: Endpoint URL
security:
- BearerAuth: []
tags:
- name: Notification Templates
  description: Notification templates for customizing event notifications
paths:
  /v1/notificationTemplates:
    get:
      tags:
      - Notification Templates
      summary: List notification templates
      description: Get a list of notification templates
      operationId: listNotificationTemplates
      parameters:
      - name: fields
        in: query
        description: Fields requested in the returned resource
        schema:
          type: string
      - name: provider
        in: query
        description: Filter templates by provider type (SYSTEM or USER)
        schema:
          type: string
          enum:
          - system
          - user
          - automation
      - name: limit
        in: query
        description: Limit the number of results. (1 to 1000000, default = 10)
        schema:
          maximum: 1000000
          minimum: 0
          type: integer
          format: int32
          default: 10
      - name: before
        in: query
        description: Returns list of entities before this cursor
        schema:
          type: string
      - name: after
        in: query
        description: Returns list of entities after this cursor
        schema:
          type: string
      - name: include
        in: query
        description: Include all, deleted, or non-deleted entities.
        schema:
          type: string
          default: non-deleted
          enum:
          - all
          - deleted
          - non-deleted
      responses:
        '200':
          description: List of notification templates
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateList'
    put:
      tags:
      - Notification Templates
      summary: Create or update a notification template
      description: Create a notification template, if it does not exist or update an existing notification template.
      operationId: createOrUpdateNotificationTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNotificationTemplate'
      responses:
        '200':
          description: The notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '400':
          description: Bad request
        '403':
          description: Forbidden - Requires appropriate permissions for USER or SYSTEM templates
    post:
      tags:
      - Notification Templates
      summary: Create a notification template
      description: Create a new notification template
      operationId: createNotificationTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNotificationTemplate'
      responses:
        '200':
          description: The notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '400':
          description: Bad request
  /v1/notificationTemplates/name/{fqn}:
    get:
      tags:
      - Notification Templates
      summary: Get a notification template by fully qualified name
      description: Get a notification template by `fullyQualifiedName`.
      operationId: getNotificationTemplateByFQN
      parameters:
      - name: fqn
        in: path
        description: Fully qualified name of the notification template
        required: true
        schema:
          type: string
      - name: fields
        in: query
        description: Fields requested in the returned resource
        schema:
          type: string
      - name: include
        in: query
        description: Include all, deleted, or non-deleted entities.
        schema:
          type: string
          default: non-deleted
          enum:
          - all
          - deleted
          - non-deleted
      - name: includeRelations
        in: query
        description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.'
        schema:
          type: string
          example: owners:non-deleted,followers:all
      responses:
        '200':
          description: The notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '404':
          description: Notification template for instance {fqn} is not found
    delete:
      tags:
      - Notification Templates
      summary: Delete a notification template by fully qualified name
      description: Delete a notification template by `fullyQualifiedName`. System templates cannot be deleted.
      operationId: deleteNotificationTemplateByFQN
      parameters:
      - name: fqn
        in: path
        description: Fully qualified name of the notification template
        required: true
        schema:
          type: string
      - name: recursive
        in: query
        description: Recursively delete this entity and it's children. (Default `false`)
        schema:
          type: boolean
          default: false
      - name: hardDelete
        in: query
        description: Hard delete the entity. (Default = `false`)
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
        '400':
          description: Bad request - System templates cannot be deleted
        '404':
          description: Notification template for instance {fqn} is not found
    patch:
      tags:
      - Notification Templates
      summary: Update a notification template by name
      description: Update an existing notification template using JsonPatch.
      operationId: patchNotificationTemplateByFQN
      parameters:
      - name: fqn
        in: path
        description: Fully qualified name of the notification template
        required: true
        schema:
          type: string
      requestBody:
        description: JsonPatch with array of operations
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/JsonPatch'
            example:
            - op: replace
              path: /description
              value: new description
      responses:
        '200':
          description: Successfully updated the notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '400':
          description: Bad request
        '403':
          description: Forbidden - Requires appropriate permissions for USER or SYSTEM templates
        '404':
          description: Notification template not found
  /v1/notificationTemplates/{id}:
    get:
      tags:
      - Notification Templates
      summary: Get a notification template by Id
      description: Get a notification template by `Id`.
      operationId: getNotificationTemplateById
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      - name: fields
        in: query
        description: Fields requested in the returned resource
        schema:
          type: string
      - name: include
        in: query
        description: Include all, deleted, or non-deleted entities.
        schema:
          type: string
          default: non-deleted
          enum:
          - all
          - deleted
          - non-deleted
      - name: includeRelations
        in: query
        description: 'Per-relation include control. Format: field:value,field2:value2. Example: owners:non-deleted,followers:all. Valid values: all, deleted, non-deleted. If not specified for a field, uses the entity''s include value.'
        schema:
          type: string
          example: owners:non-deleted,followers:all
      responses:
        '200':
          description: The notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '404':
          description: Notification template for instance {id} is not found
    delete:
      tags:
      - Notification Templates
      summary: Delete a notification template by Id
      description: Delete a notification template by `Id`. System templates cannot be deleted.
      operationId: deleteNotificationTemplate
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      - name: recursive
        in: query
        description: Recursively delete this entity and it's children. (Default `false`)
        schema:
          type: boolean
          default: false
      - name: hardDelete
        in: query
        description: Hard delete the entity. (Default = `false`)
        schema:
          type: boolean
          default: false
      responses:
        '200':
          description: OK
        '400':
          description: Bad request - System templates cannot be deleted
        '404':
          description: Notification template for instance {id} is not found
    patch:
      tags:
      - Notification Templates
      summary: Update a notification template
      description: Update an existing notification template using JsonPatch.
      operationId: patchNotificationTemplate
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        description: JsonPatch with array of operations
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/JsonPatch'
            example:
            - op: replace
              path: /description
              value: new description
      responses:
        '200':
          description: Successfully updated the notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '400':
          description: Bad request
        '403':
          description: Forbidden - Requires appropriate permissions for USER or SYSTEM templates
        '404':
          description: Notification template not found
  /v1/notificationTemplates/async/{id}:
    delete:
      tags:
      - Notification Templates
      summary: Asynchronously delete a notification template by Id
      description: Asynchronously delete a notification template by `Id`.
      operationId: deleteNotificationTemplateAsync
      parameters:
      - name: hardDelete
        in: query
        description: Hard delete the entity. (Default = `false`)
        schema:
          type: boolean
          default: false
      - name: recursive
        in: query
        description: Recursively delete this entity and it's children. (Default `false`)
        schema:
          type: boolean
          default: false
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: OK
        '404':
          description: Notification template for instance {id} is not found
  /v1/notificationTemplates/helpers:
    get:
      tags:
      - Notification Templates
      summary: Get available Handlebars helpers
      description: Returns a list of all available Handlebars helpers with their usage information. Requires VIEW_BASIC permission for notification templates.
      operationId: getHandlebarsHelpers
      responses:
        '200':
          description: List of Handlebars helpers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HandlebarsHelperMetadata'
  /v1/notificationTemplates/{id}/versions/{version}:
    get:
      tags:
      - Notification Templates
      summary: Get a version of the notification template
      description: Get a version of the notification template by given `Id`
      operationId: getSpecificNotificationTemplateVersion
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      - name: version
        in: path
        description: Notification template version number in the form `major`.`minor`
        required: true
        schema:
          type: string
          example: 0.1 or 1.1
      responses:
        '200':
          description: notification template
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplate'
        '404':
          description: Notification template for instance {id} and version {version} is not found
  /v1/notificationTemplates/history:
    get:
      tags:
      - Notification Templates
      summary: List all entity versions within a time range
      description: 'Get a paginated list of all entity versions within a given time range specified by `startTs` and `endTs` in milliseconds since epoch. '
      operationId: listAllEntityVersionsByTimestamp_28
      parameters:
      - name: startTs
        in: query
        description: Start timestamp in milliseconds since epoch
        required: true
        schema:
          type: integer
          format: int64
      - name: endTs
        in: query
        description: End timestamp in milliseconds since epoch
        required: true
        schema:
          type: integer
          format: int64
      - name: limit
        in: query
        description: Limit the number of entity returned (1 to 1000000, default = 10)
        schema:
          maximum: 500
          minimum: 1
          type: integer
          format: int32
          default: 10
      - name: before
        in: query
        description: Returns list of entity versions before this cursor
        schema:
          type: string
      - name: after
        in: query
        description: Returns list of entity versions after this cursor
        schema:
          type: string
      responses:
        '200':
          description: List of all versions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResultList'
  /v1/notificationTemplates/{id}/versions:
    get:
      tags:
      - Notification Templates
      summary: List notification template versions
      description: Get a list of all the versions of a notification template identified by `Id`
      operationId: listAllNotificationTemplateVersions
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: List of notification template versions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EntityHistory'
  /v1/notificationTemplates/render:
    post:
      tags:
      - Notification Templates
      summary: Render notification template with mock data
      description: 'Generates mock ChangeEvent data for the specified resource and eventType, then renders the template. Returns the rendered subject and body for preview. Does not send to any destination. Requires any of: CREATE, EDIT_ALL, EDIT_USER_NOTIFICATION_TEMPLATE.'
      operationId: renderNotificationTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateRenderRequest'
      responses:
        '200':
          description: Rendering result with validation and render outputs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateRenderResponse'
        '400':
          description: Bad request
  /v1/notificationTemplates/name/{fqn}/reset:
    put:
      tags:
      - Notification Templates
      summary: Reset a notification template to its default state by fully qualified name
      description: Reset a SYSTEM notification template to its original default state from seed data. Only SYSTEM templates can be reset. This operation requires EDIT permissions.
      operationId: resetNotificationTemplateByFQN
      parameters:
      - name: fqn
        in: path
        description: Fully qualified name of the notification template to reset
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Template successfully reset to default
        '400':
          description: Bad request - Template cannot be reset (not a SYSTEM template)
        '403':
          description: Forbidden - proper EDIT permission required
        '404':
          description: Notification template for instance {fqn} is not found
  /v1/notificationTemplates/{id}/reset:
    put:
      tags:
      - Notification Templates
      summary: Reset a notification template to its default state by Id
      description: Reset a SYSTEM notification template to its original default state from seed data. Only SYSTEM templates can be reset. This operation requires EDIT permissions.
      operationId: resetNotificationTemplateById
      parameters:
      - name: id
        in: path
        description: Id of the notification template
        required: true
        schema:
          type: string
          format: uuid
      responses:
        '200':
          description: Template successfully reset to default
        '400':
          description: Bad request - Template cannot be reset (not a SYSTEM template)
        '403':
          description: Forbidden - proper EDIT permission required
        '404':
          description: Notification template for instance {id} is not found
  /v1/notificationTemplates/restore:
    put:
      tags:
      - Notification Templates
      summary: Restore a soft deleted notification template
      description: Restore a soft deleted notification template.
      operationId: restore_20
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RestoreEntity'
      responses:
        '200':
          description: Successfully restored the notification template
  /v1/notificationTemplates/send:
    post:
      tags:
      - Notification Templates
      summary: Validate and send notification template to external destinations
      description: 'Validates template syntax, generates mock ChangeEvent data, and sends to specified external destinations. Returns validation status only. Delivery errors are logged server-side. Only external destinations (Email, Slack, Teams, GChat, Webhook) are supported. Requires any of: CREATE, EDIT_ALL, EDIT_USER_NOTIFICATION_TEMPLATE.'
      operationId: sendNotificationTemplateTest
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateSendRequest'
      responses:
        '200':
          description: Validation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateValidationResponse'
        '400':
          description: Bad request or validation failure
  /v1/notificationTemplates/validate:
    post:
      tags:
      - Notification Templates
      summary: Validate notification template syntax
      description: 'Validates only the Handlebars syntax of template subject and body without generating mock data or sending. Requires any of: CREATE, EDIT_ALL, EDIT_USER_NOTIFICATION_TEMPLATE.'
      operationId: validateNotificationTemplate
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationTemplateValidationRequest'
      responses:
        '200':
          description: Validation result
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NotificationTemplateValidationResponse'
        '400':
          description: Bad request
components:
  schemas:
    EntityHistory:
      required:
      - entityType
      - versions
      type: object
      properties:
        entityType:
          type: string
        versions:
          type: array
          items:
            type: object
    AccessDetails:
      required:
      - timestamp
      type: object
      properties:
        timestamp:
          type: integer
          format: int64
        accessedBy:
          $ref: '#/components/schemas/EntityReference'
        accessedByAProcess:
          type: string
    UsageDetails:
      required:
      - dailyStats
      - date
      type: object
      properties:
        dailyStats:
          $ref: '#/components/schemas/UsageStats'
        weeklyStats:
          $ref: '#/components/schemas/UsageStats'
        monthlyStats:
          $ref: '#/components/schemas/UsageStats'
        date:
          type: string
    JsonPatch:
      type: object
    NotificationTemplateValidationRequest:
      required:
      - templateBody
      - templateSubject
      type: object
      properties:
        templateBody:
          maxLength: 65536
          minLength: 1
          type: string
        templateSubject:
          maxLength: 256
          minLength: 1
          type: string
    CreateNotificationTemplate:
      required:
      - name
      - templateBody
      - templateSubject
      type: object
      properties:
        name:
          maxLength: 256
          minLength: 1
          pattern: ^((?!::).)*$
          type: string
        displayName:
          type: string
        description:
          type: string
        templateSubject:
          maxLength: 255
          minLength: 1
          type: string
        templateBody:
          maxLength: 65536
          minLength: 1
          type: string
        owners:
          type: array
          items:
            $ref: '#/components/schemas/EntityReference'
        domains:
          type: array
          items:
            type: string
        extension:
          type: object
        tags:
          type: array
          items:
            $ref: '#/components/schemas/TagLabel'
        reviewers:
          type: array
          items:
            $ref: '#/components/schemas/EntityReference'
        dataProducts:
          type: array
          items:
            type: string
        lifeCycle:
          $ref: '#/components/schemas/LifeCycle'
    NotificationTemplateList:
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/NotificationTemplate'
        paging:
          $ref: '#/components/schemas/Paging'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
        warningsCount:
          type: integer
          format: int32
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
    NotificationTemplateValidationResponse:
      required:
      - isValid
      type: object
      properties:
        isValid:
          type: boolean
        subjectError:
          type: string
        bodyError:
          type: string
    AssetCertification:
      required:
      - appliedDate
      - expiryDate
      - tagLabel
      type: object
      properties:
        tagLabel:
          $ref: '#/components/schemas/TagLabel'
        appliedDate:
          type: integer
          format: int64
        expiryDate:
          type: integer
          format: int64
    NotificationTemplateRenderRequest:
      required:
      - resource
      - templateBody
      - templateSubject
      type: object
      properties:
        templateSubject:
          maxLength: 255
          minLength: 1
          type: string
        templateBody:
          maxLength: 65536
          minLength: 1
          type: string
        resource:
          maxLength: 128
          minLength: 1
          type: string
        eventType:
          type: string
          enum:
          - entityCreated
          - entityUpdated
          - entityFieldsChanged
          - entityNoChange
          - entitySoftDeleted
          - entityDeleted
          - entityRestored
          - threadCreated
          - threadUpdated
          - postCreated
          - postUpdated
          - taskResolved
          - taskClosed
          - logicalTestCaseAdded
          - suggestionCreated
          - suggestionUpdated
          - suggestionAccepted
          - suggestionRejected
          - suggestionDeleted
          - userLogin
          - userLogout
    PatternMatch:
      required:
      - name
      - score
      type: object
      properties:
        name:
          type: string
        regex:
          type: string
        score:
          type: number
          format: double
    TagLabelRecognizerMetadata:
      required:
      - recognizerId
      - recognizerName
      - score
      type: object
      properties:
        recognizerId:
          type: string
          format: uuid
        recognizerName:
          type: string
        score:
          type: number
          format: double
        target:
          type: string
          enum:
          - content
          - column_name
        patterns:
          type: array
          items:
            $ref: '#/components/schemas/PatternMatch'
    UsageStats:
      required:
      - count
      type: object
      properties:
        count:
          minimum: 0
          type: integer
          format: int32
        percentileRank:
          type: number
          format: double
    Style:
      type: object
      properties:
        color:
          type: string
        iconURL:
          type: string
        coverImage:
          $ref: '#/components/schemas/CoverImage'
    NotificationTemplateRenderResponse:
      required:
      - validation
      type: object
      properties:
        validation:
          $ref: '#/components/schemas/NotificationTemplateValidationResponse'
        render:
          $ref: '#/components/schemas/TemplateRenderResult'
    Votes:
      type: object
      properties:
        upVotes:
          type: integer
          format: int32
        downVotes:
          type: integer
          format: int32
        upVoters:
          type: array
          items:
            $ref: '#/components/schemas/EntityReference'
        downVoters:
          type: array
          items:
            $ref: '#/components/schemas/EntityReference'
    LifeCycle:
      type: object
      properties:
        created:
          $ref: '#/components/schemas/AccessDetails'
        updated:
          $ref: '#/components/schemas/AccessDetails'
        accessed:
          $ref: '#/components/schemas/AccessDetails'
    Paging:
      required:
      - total
      type: object
      properties:
        before:
          type: string
        after:
          type: string
        offset:
          type: integer
          format: int32
        limit:
          type: integer
          format: int32
        total:
          type: integer
          format: int32
    EntityReference:
      required:
      - id
      - type
      type: object
      properties:
        id:
          type: string
          format: uuid
        type:
          type: string
        name:
          type: string
        fullyQualifiedName:
          type: string
        description:
          type: string
        displayName:
          type: string
        deleted:
          type: boolean
        inherited:
          type: boolean
        href:
          type: string
          format: uri
    FieldChange:
      type: object
      properties:
        name:
          type: string
        oldValue:
          type: object
        newValue:
          type: object
    NotificationTemplateSendRequest:
      required:
      - destinations
      - renderRequest
      type: object
      properties:
        renderRequest:
          $ref: '#/components/schemas/NotificationTemplateRenderRequest'
        destinations:
          maxItems: 2147483647
          minItems: 1
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionDestination'
    ChangeSummaryMap:
      type: object
    TemplateRenderResult:
      required:
      - body
      - subject
      type: object
      properties:
        subject:
          type: string
        body:
          type: string
    EntityError:
      type: object
      properties:
        message:
          type: string
        entity:
          type: object
    ResultList:
      required:
      - data
      type: object
      properties:
        data:
          type: array
          items:
            type: object
        paging:
          $ref: '#/components/schemas/Paging'
        errors:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
        warningsCount:
          type: integer
          format: int32
        warnings:
          type: array
          items:
            $ref: '#/components/schemas/EntityError'
    SubscriptionDestination:
      required:
      - category
      - type
      type: object
      properties:
        id:
          type: string
          format: uuid
        category:
          type: string
          enum:
          - Users
          - Teams
          - Admins
          - Assignees
          - Owners
          - Mentions
          - Followers
          - External
        type:
          type: string
          enum:
          - Webhook
          - Slack
          - MsTeams
          - GChat
          - Email
          - ActivityFeed
          - GovernanceWorkflowChangeEvent
        statusDetails:
          type: object
        timeout:
          type: integer
          format: int32
        readTimeout:
          type: integer
          format: int32
        enabled:
          type: boolean
        config:
          type: object
        notifyDownstream:
          type: boolean
        downstreamDepth:
          minimum: 1
          type: integer
          format: int32
    ChangeDescription:
      type: object
      properties:
        fieldsAdded:
          type: array
          items:
            $ref: '#/components/schemas/FieldChange'
        fieldsUpdated:
          type: array
          items:
            $ref: '#/components/schemas/FieldChange'
        fieldsDeleted:
          type: array
          items:
            $ref: '#/components/schemas/FieldChange'
        previousVersion:
          type: number
          format: double
        changeSummary:
          $ref: '#/components/schemas/ChangeSummaryMap'
    RestoreEntity:
      required:
      - id
      type: object
      properties:
        id:
          type: string
          format: uuid
    NotificationTemplate:
      required:
      - id
      - name
      - templateBody
      - templateSubject
      type: object
      properties:
        id:
          type: string
          format: uuid
        name:
          maxLength: 256
          minLength: 1
          pattern: ^((?!::).)*$
          type: string
        displayName:
          type: string
        fullyQualifiedName:
          maxLength: 3072
          minLength: 1
          type: string
        description:
          type: string
        version:
          type: number
          format: double
        updatedAt:
          type: integer
          format: int64
        updatedBy:
          type: string
   

# --- truncated at 32 KB (36 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openmetadata/refs/heads/main/openapi/openmetadata-notification-templates-api-openapi.yml