openapi: 3.0.0 info: title: ProcessMaker Platform RESTful Environment Variables Notifications API description: 'The ProcessMaker Platform RESTful API provides programmatic access to all platform functionality including process design, case management, task handling, user management, and enterprise integrations. The API is BPMN 2.0 compliant and follows the OpenAPI specification with interactive Swagger UI documentation auto-generated by Swagger/L5-Swagger. ' version: 1.0.0 contact: email: info@processmaker.com license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html servers: - url: https://{organization}.processmaker.net/api/1.0 description: ProcessMaker Cloud instance variables: organization: default: myorg description: Your ProcessMaker organization subdomain security: - bearerAuth: [] tags: - name: Notifications description: Notification management paths: /notifications: get: tags: - Notifications summary: Returns all notifications for the authenticated user operationId: getNotifications parameters: - name: status in: query description: Filter by read/unread status schema: type: string enum: - read - unread - all - $ref: '#/components/parameters/filter' - $ref: '#/components/parameters/order_by' - $ref: '#/components/parameters/order_direction' - $ref: '#/components/parameters/per_page' responses: '200': description: List of notifications content: application/json: schema: type: object properties: data: type: array items: $ref: '#/components/schemas/Notification' meta: $ref: '#/components/schemas/Metadata' post: tags: - Notifications summary: Create a new notification operationId: createNotification requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEditable' responses: '201': description: Created notification content: application/json: schema: $ref: '#/components/schemas/Notification' /notifications/{notification_id}: get: tags: - Notifications summary: Get a single notification operationId: getNotificationsById parameters: - name: notification_id in: path required: true schema: type: string responses: '200': description: Single notification content: application/json: schema: $ref: '#/components/schemas/Notification' put: tags: - Notifications summary: Update a notification operationId: updateNotification parameters: - name: notification_id in: path required: true schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/NotificationEditable' responses: '204': description: No content delete: tags: - Notifications summary: Delete a notification operationId: deleteNotification parameters: - name: notification_id in: path required: true schema: type: string responses: '204': description: No content components: schemas: Notification: allOf: - $ref: '#/components/schemas/NotificationEditable' - type: object properties: id: type: string format: uuid created_at: type: string format: date-time updated_at: type: string format: date-time NotificationEditable: type: object properties: type: type: string notifiable_type: type: string notifiable_id: type: integer data: type: object read_at: type: string format: date-time nullable: true Metadata: type: object properties: total: type: integer count: type: integer per_page: type: integer current_page: type: integer total_pages: type: integer sort_by: type: string sort_order: type: string search: type: string parameters: per_page: name: per_page in: query schema: type: integer default: 10 filter: name: filter in: query description: 'Filter results by string. Searches Name, Description, and Status. Status must match exactly. Others can be a substring. ' schema: type: string order_by: name: order_by in: query description: Field to order results by schema: type: string order_direction: name: order_direction in: query schema: type: string enum: - asc - desc default: asc securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: JWT