OpenAPI Specification
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