Whiplash Notification Subscriptions API

Webhook subscription management — list, create, count, retrieve, update, delete, and test

OpenAPI Specification

whiplash-notification-subscriptions-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Whiplash (Rydership) Bundle Items Notification Subscriptions API
  description: The Whiplash REST API (now RyderShip API under Ryder System) enables developers to manage orders, items, inventory, shipments, consumer returns, customers, notification subscriptions, and documents programmatically. The API uses OAuth 2.0 Bearer token authentication and supports both authorization code and client credentials flows. The V2 API is open by invite only.
  version: '2.0'
  contact:
    name: Rydership Development Team
    email: tech@whiplash.com
    url: https://www.getwhiplash.com
  x-logo:
    url: https://wl-s3-assets.s3.amazonaws.com/rydership/RyderShip-horizontal-safe-padding.svg
servers:
- url: https://api.getwhiplash.com
  description: Whiplash Production API
security:
- bearerAuth: []
tags:
- name: Notification Subscriptions
  description: Webhook subscription management — list, create, count, retrieve, update, delete, and test
paths:
  /v2/notification_subscriptions:
    get:
      operationId: listNotificationSubscriptions
      summary: List notification subscriptions
      description: Returns a paginated list of webhook notification subscriptions.
      tags:
      - Notification Subscriptions
      parameters:
      - $ref: '#/components/parameters/PageParam'
      - $ref: '#/components/parameters/LimitParam'
      responses:
        '200':
          description: Notification subscriptions list
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createNotificationSubscription
      summary: Create a notification subscription
      tags:
      - Notification Subscriptions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationSubscriptionInput'
      responses:
        '201':
          description: Notification subscription created
        '401':
          $ref: '#/components/responses/Unauthorized'
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
  /v2/notification_subscriptions/count:
    get:
      operationId: countNotificationSubscriptions
      summary: Count notification subscriptions
      tags:
      - Notification Subscriptions
      responses:
        '200':
          description: Count response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /v2/notification_subscriptions/{id}:
    get:
      operationId: getNotificationSubscription
      summary: Retrieve a notification subscription
      tags:
      - Notification Subscriptions
      parameters:
      - $ref: '#/components/parameters/IdParam'
      responses:
        '200':
          description: Notification subscription details
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    put:
      operationId: updateNotificationSubscription
      summary: Update a notification subscription
      tags:
      - Notification Subscriptions
      parameters:
      - $ref: '#/components/parameters/IdParam'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationSubscriptionInput'
      responses:
        '200':
          description: Notification subscription updated
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteNotificationSubscription
      summary: Delete a notification subscription
      tags:
      - Notification Subscriptions
      parameters:
      - $ref: '#/components/parameters/IdParam'
      responses:
        '204':
          description: Notification subscription deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
  /v2/notification_subscriptions/{id}/test:
    post:
      operationId: testNotificationSubscription
      summary: Test a notification subscription
      description: Sends a test event to the webhook endpoint for a specific subscription.
      tags:
      - Notification Subscriptions
      parameters:
      - $ref: '#/components/parameters/IdParam'
      responses:
        '200':
          description: Test event sent
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  parameters:
    IdParam:
      name: id
      in: path
      required: true
      schema:
        type: string
      description: Unique identifier of the resource
    LimitParam:
      name: limit
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        maximum: 500
      description: Number of results per page
    PageParam:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
        default: 1
      description: Page number for pagination
  schemas:
    ErrorResponse:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
    CountResponse:
      type: object
      properties:
        count:
          type: integer
          description: Total number of matching resources
    NotificationSubscriptionInput:
      type: object
      properties:
        url:
          type: string
          format: uri
          description: Webhook endpoint URL
        events:
          type: array
          items:
            type: string
          description: List of event types to subscribe to
        active:
          type: boolean
          description: Whether the subscription is active
  responses:
    NotFound:
      description: Resource not found
    UnprocessableEntity:
      description: Validation error — the request body contains invalid data
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized — invalid or missing Bearer token
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2
      description: OAuth 2.0 Bearer token. Obtain via authorization code or client credentials flow. See https://help.whiplash.com/hc/en-us/articles/360050870691-Authentication-for-the-V2-API
externalDocs:
  description: Whiplash API Developer Documentation
  url: https://help.whiplash.com/hc/en-us/categories/13378954544411-Whiplash-Application-Developers