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