Suger · Capability

Suger API — Notification

Suger API — Notification. 4 operations. Lead operation: List Notification Events. Self-contained Naftiko capability covering one Suger business surface.

Run with Naftiko SugerNotification

What You Can Do

GET
Listnotificationevents — List Notification Events
/v1/org/{orgid}/notificationevent
GET
Listnotificationeventsbyentity — List Notification Events By Entity
/v1/org/{orgid}/notificationevent/{entitytype}/{entityid}
GET
Listnotificationmessages — List Notification Messages
/v1/org/{orgid}/notificationmessage
GET
Getnotificationmessage — Get Notification Message
/v1/org/{orgid}/notificationmessage/{notificationmessageid}

MCP Tools

list-notification-events

List Notification Events

read-only idempotent
list-notification-events-entity

List Notification Events By Entity

read-only idempotent
list-notification-messages

List Notification Messages

read-only idempotent
get-notification-message

Get Notification Message

read-only idempotent

Capability Spec

suger-notification.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Suger API — Notification
  description: 'Suger API — Notification. 4 operations. Lead operation: List Notification Events. Self-contained Naftiko capability
    covering one Suger business surface.'
  tags:
  - Suger
  - Notification
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    SUGER_API_KEY: SUGER_API_KEY
capability:
  consumes:
  - type: http
    namespace: suger-notification
    baseUri: https://api.suger.cloud
    description: Suger API — Notification business capability. Self-contained, no shared references.
    resources:
    - name: org-orgId-notificationEvent
      path: /org/{orgId}/notificationEvent
      operations:
      - name: listnotificationevents
        method: GET
        description: List Notification Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: startDate
          in: query
          type: string
          description: start date (UTC) in YYYY-MM-DD format, default is 30 days before the endDate
        - name: endDate
          in: query
          type: string
          description: end date (UTC) in YYYY-MM-DD format, default is today
        - name: limit
          in: query
          type: integer
          description: List pagination size, default 1000, max value is 1000
        - name: offset
          in: query
          type: integer
          description: List pagination offset, default 0
        - name: priorities
          in: query
          type: string
          description: 'Filter by priorities, empty means HIGH and CRITICAL only. Valid values are: LOW, MEDIUM, HIGH, CRITICAL.
            Multiple values are supported, separated by comma.'
    - name: org-orgId-notificationEvent-entityType-entityId
      path: /org/{orgId}/notificationEvent/{entityType}/{entityId}
      operations:
      - name: listnotificationeventsbyentity
        method: GET
        description: List Notification Events By Entity
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: entityType
          in: path
          type: string
          description: 'Entity type, valid values are: PRODUCT, OFFER, ENTITLEMENT, INTEGRATION etc.'
          required: true
        - name: entityId
          in: path
          type: string
          description: Entity ID
          required: true
        - name: limit
          in: query
          type: integer
          description: List pagination size, default 1000, max value is 1000
        - name: offset
          in: query
          type: integer
          description: List pagination offset, default 0
    - name: org-orgId-notificationMessage
      path: /org/{orgId}/notificationMessage
      operations:
      - name: listnotificationmessages
        method: GET
        description: List Notification Messages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: limit
          in: query
          type: integer
          description: List pagination size, default 1000, max value is 1000
        - name: offset
          in: query
          type: integer
          description: List pagination offset, default 0
    - name: org-orgId-notificationMessage-notificationMessageId
      path: /org/{orgId}/notificationMessage/{notificationMessageId}
      operations:
      - name: getnotificationmessage
        method: GET
        description: Get Notification Message
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: orgId
          in: path
          type: string
          description: Organization ID
          required: true
        - name: notificationMessageId
          in: path
          type: string
          description: Notification Message ID
          required: true
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.SUGER_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: suger-notification-rest
    port: 8080
    description: REST adapter for Suger API — Notification. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/org/{orgid}/notificationevent
      name: org-orgid-notificationevent
      description: REST surface for org-orgId-notificationEvent.
      operations:
      - method: GET
        name: listnotificationevents
        description: List Notification Events
        call: suger-notification.listnotificationevents
        with:
          orgId: rest.orgId
          startDate: rest.startDate
          endDate: rest.endDate
          limit: rest.limit
          offset: rest.offset
          priorities: rest.priorities
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/notificationevent/{entitytype}/{entityid}
      name: org-orgid-notificationevent-entitytype-entityid
      description: REST surface for org-orgId-notificationEvent-entityType-entityId.
      operations:
      - method: GET
        name: listnotificationeventsbyentity
        description: List Notification Events By Entity
        call: suger-notification.listnotificationeventsbyentity
        with:
          orgId: rest.orgId
          entityType: rest.entityType
          entityId: rest.entityId
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/notificationmessage
      name: org-orgid-notificationmessage
      description: REST surface for org-orgId-notificationMessage.
      operations:
      - method: GET
        name: listnotificationmessages
        description: List Notification Messages
        call: suger-notification.listnotificationmessages
        with:
          orgId: rest.orgId
          limit: rest.limit
          offset: rest.offset
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/org/{orgid}/notificationmessage/{notificationmessageid}
      name: org-orgid-notificationmessage-notificationmessageid
      description: REST surface for org-orgId-notificationMessage-notificationMessageId.
      operations:
      - method: GET
        name: getnotificationmessage
        description: Get Notification Message
        call: suger-notification.getnotificationmessage
        with:
          orgId: rest.orgId
          notificationMessageId: rest.notificationMessageId
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: suger-notification-mcp
    port: 9090
    transport: http
    description: MCP adapter for Suger API — Notification. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-notification-events
      description: List Notification Events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-notification.listnotificationevents
      with:
        orgId: tools.orgId
        startDate: tools.startDate
        endDate: tools.endDate
        limit: tools.limit
        offset: tools.offset
        priorities: tools.priorities
      outputParameters:
      - type: object
        mapping: $.
    - name: list-notification-events-entity
      description: List Notification Events By Entity
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-notification.listnotificationeventsbyentity
      with:
        orgId: tools.orgId
        entityType: tools.entityType
        entityId: tools.entityId
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: list-notification-messages
      description: List Notification Messages
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-notification.listnotificationmessages
      with:
        orgId: tools.orgId
        limit: tools.limit
        offset: tools.offset
      outputParameters:
      - type: object
        mapping: $.
    - name: get-notification-message
      description: Get Notification Message
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: suger-notification.getnotificationmessage
      with:
        orgId: tools.orgId
        notificationMessageId: tools.notificationMessageId
      outputParameters:
      - type: object
        mapping: $.