Smokeball Notifications API

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

Operations 2

GET /notifications/{id} Get a notification #
POST /notifications Create a notification #

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/smokeball-notifications-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

smokeball-notifications-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Smokeball Notifications API
  version: '1.0'
  description: REST API for integrating with Smokeball legal practice management software. Supports matters, contacts, documents, time entries, billing, trust accounting, staff, webhooks, and law firm workflows across US, AU, and UK regions. Uses OAuth 2.0 (client credentials) authentication.
  contact:
    name: Smokeball Developer Support
    url: https://docs.smokeball.com/docs/api-docs/1e13a13124aee-introduction
  x-api-id: smokeball
  x-audience: external-public
servers:
- url: https://api.smokeball.com
- url: https://api.smokeball.com.au
- url: https://api.smokeball.co.uk
- url: https://stagingapi.smokeball.com
- url: https://stagingapi.smokeball.com.au
- url: https://stagingapi.smokeball.co.uk
security:
- api-key: []
  token: []
tags:
- name: Notifications
paths:
  /notifications/{id}:
    get:
      tags:
      - Notifications
      summary: Get a notification
      description: Retrieves a specified notification.
      operationId: GetNotificationById
      parameters:
      - name: id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: When request is successful. Returns a 'Notification' object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Notification'
        '400':
          description: When an unsupported request is made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '403':
          description: When notification with specified id is not associated with authenticated client.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: When notification with specified id does not exist.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
  /notifications:
    post:
      tags:
      - Notifications
      summary: Create a notification
      description: Creates a notification.
      operationId: CreateNotification
      requestBody:
        content:
          application/json-patch+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NotificationDto'
          application/json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NotificationDto'
          application/*+json:
            schema:
              allOf:
              - $ref: '#/components/schemas/NotificationDto'
      responses:
        '202':
          description: When request is accepted. Returns a 'Link' object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Link'
        '400':
          description: When an unsupported request is made.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    Link:
      type: object
      properties:
        id:
          type:
          - string
          - 'null'
        href:
          type:
          - string
          - 'null'
        relation:
          type:
          - string
          - 'null'
        method:
          type:
          - string
          - 'null'
          default: GET
      additionalProperties: false
    Notification:
      type: object
      properties:
        href:
          type:
          - string
          - 'null'
        relation:
          type:
          - string
          - 'null'
        method:
          type:
          - string
          - 'null'
          default: GET
        self:
          allOf:
          - $ref: '#/components/schemas/Link'
        id:
          type:
          - string
          - 'null'
          description: Unique identifier of the notification.
          example: e2fd015b-8a60-42be-9ea4-b2ef7aa0289b
        createdByUserId:
          type:
          - string
          - 'null'
          description: The user that created this notification.
          example: db0b4298-67ef-4638-a92a-5bb830ea6af6
        createdDate:
          type:
          - string
          - 'null'
          description: Staff id to notify.
          example: '"832e778f-83df-454a-b344-768a862a7e67"'
        icon:
          type:
          - string
          - 'null'
          description: The icon to display for the notification.
          example: ''
        iconColor:
          type:
          - string
          - 'null'
          description: The icon hex color to display for the notification.
          example: '#25C9A4'
        message:
          type:
          - string
          - 'null'
          description: The message to display for the notification.
          example: '[@staffId] has **assigned** you a Task.'
        toastyIcon:
          type:
          - string
          - 'null'
          description: The icon to display for the toast notification.
        toastyMessage:
          type:
          - string
          - 'null'
          description: The message to display for the message.
        isRead:
          type: boolean
          description: "True if the notification has been forcefully read by the user.\n            \nThis is different to the <seealso cref=\"P:ItOps.NotificationCentre.Api.Resources.Notification.HasBeenSeen\" /> property - which is not forceful."
          example: false
        hasBeenSeen:
          type: boolean
          description: 'True if the notification was "seen" by the user.


            This is different to the forceful "read" state.'
          example: false
        creationTimestamp:
          type: string
          description: The time the notification was created.
          format: date-time
        updatedDate:
          type: string
          description: The last time the notification was modified (marked as read, deleted etc).
          format: date-time
          example: '2020-02-15T00:00:00Z'
        isDeleted:
          type: boolean
          description: True if the notification has been deleted.
          example: false
      additionalProperties: false
    ProblemDetails:
      type: object
      properties:
        type:
          type:
          - string
          - 'null'
        title:
          type:
          - string
          - 'null'
        status:
          type:
          - integer
          - 'null'
          format: int32
        detail:
          type:
          - string
          - 'null'
        instance:
          type:
          - string
          - 'null'
      additionalProperties: {}
    NotificationDto:
      type: object
      properties:
        staffId:
          type:
          - string
          - 'null'
          description: Staff id to notify.
          example: 832e778f-83df-454a-b344-768a862a7e67
        icon:
          type:
          - string
          - 'null'
          description: 'The icon to display for the notification.


            Will be validated against the Smokeball icon sets.'
          example: ''
        iconColor:
          type:
          - string
          - 'null'
          description: The icon hex color to display for the notification.
          example: '#25C9A4'
        message:
          type:
          - string
          - 'null'
          description: "The message to display for the notification.\n\nSupports basic markdown syntax, such as: ** bold **, -- italic --\n            \nSupports basic UI markdown syntax for staff member id, such as [@staffId]"
          example: '[@staffId] has **assigned** you a Task.'
        toastyIcon:
          type:
          - string
          - 'null'
          description: The toast notification icon to display for the notification.
        toastyMessage:
          type:
          - string
          - 'null'
          description: The toast notification message to display for the notification.
        actionUri:
          type:
          - string
          - 'null'
          description: The Smokeball uri to execute when the notification is clicked.
      additionalProperties: false
  securitySchemes:
    api-key:
      type: apiKey
      name: x-api-key
      in: header
    token:
      type: apiKey
      name: Authorization
      in: header
      x-amazon-apigateway-authtype: cognito_user_pools