NotificationAPI Notifications API

Configure notifications and their subNotifications.

OpenAPI Specification

notificationapi-notifications-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: NotificationAPI REST In-App Inbox Notifications API
  description: NotificationAPI is notifications infrastructure for developers. A single REST API sends multi-channel notifications - email, SMS, mobile push, web push, in-app inbox, automated voice call, and Slack - manages user identities, enforces per-user notification preferences and opt-outs, schedules and retracts notifications, and exposes delivery logs. All endpoints are scoped to your account via the clientId path segment and authenticated with HTTP Basic auth using clientId:clientSecret.
  termsOfService: https://www.notificationapi.com/terms
  contact:
    name: NotificationAPI Support
    email: support@notificationapi.com
    url: https://docs.notificationapi.com
  version: '2.8'
servers:
- url: https://api.notificationapi.com/{clientId}
  description: US region
  variables:
    clientId:
      default: your_client_id
      description: Your NotificationAPI account clientId.
- url: https://api.eu.notificationapi.com/{clientId}
  description: EU region
  variables:
    clientId:
      default: your_client_id
      description: Your NotificationAPI account clientId.
- url: https://api.ca.notificationapi.com/{clientId}
  description: Canada region
  variables:
    clientId:
      default: your_client_id
      description: Your NotificationAPI account clientId.
security:
- basicAuth: []
tags:
- name: Notifications
  description: Configure notifications and their subNotifications.
paths:
  /notifications/{notificationId}/subNotifications/{subNotificationId}:
    parameters:
    - $ref: '#/components/parameters/NotificationId'
    - $ref: '#/components/parameters/SubNotificationId'
    put:
      operationId: createSubNotification
      tags:
      - Notifications
      summary: Create a subNotification
      description: Creates a subNotification (a subcategory within a notification), for example a per-project or per-topic channel a user can subscribe to independently.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - title
              properties:
                title:
                  type: string
                  description: Human-readable title for the subNotification.
            example:
              title: Project Apollo updates
      responses:
        '200':
          description: subNotification created.
    delete:
      operationId: deleteSubNotification
      tags:
      - Notifications
      summary: Delete a subNotification
      description: Deletes a subNotification from a notification.
      responses:
        '200':
          description: subNotification deleted.
components:
  parameters:
    SubNotificationId:
      in: path
      name: subNotificationId
      required: true
      schema:
        type: string
      description: The subNotification (subcategory) identifier.
    NotificationId:
      in: path
      name: notificationId
      required: true
      schema:
        type: string
      description: The ID of the notification in NotificationAPI.
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: HTTP Basic authentication. For account-level calls the username is your clientId and the password is your clientSecret. Per-user calls (identify user, in-app inbox, delete preferences) use `base64(clientId:userId:hmac)` where hmac is HMAC-SHA256(userId) keyed with the clientSecret.