ProcessMaker Developers Documentation
processmaker.comKnowledge CenterProcessMaker University
API
API
  • ProcessMaker Platform API Documentation
    • ProcessMaker Platform RESTful API
  • Platform API Reference
    • Users
    • Groups
    • Requests
    • Tasks
    • Processes
    • Screens
    • Environment Variables
    • Files
    • Notifications
    • Scripts
    • Administrative APIs
  • Premium API Reference
    • Data Connectors
    • Collections
    • Decision Engine
    • Saved Search
    • Versions
  • Tools
    • Postman Collection
Powered by GitBook
On this page
Edit on GitHub
  1. Platform API Reference

Processes

API Reference for ProcessMaker Process API

PreviousTasksNextScreens

Last updated 5 months ago

Get single process category by ID

get

Display the specified Process category.

Authorizations
Path parameters
process_category_idintegerRequired

ID of process category to return

Responses
200
Successfully found the process
application/json
Responseall of
get
GET /api/1.0/process_categories/{process_category_id} HTTP/1.1
Host: 
Accept: */*
200

Successfully found the process

{
  "name": "text",
  "status": "ACTIVE",
  "id": "text",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z"
}

Delete a process category

delete

Remove the specified resource from storage.

Authorizations
Path parameters
process_category_idintegerRequired

ID of process category to return

Responses
204
success
application/json
Responseall of
delete
DELETE /api/1.0/process_categories/{process_category_id} HTTP/1.1
Host: 
Accept: */*
204

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "user_id": 1,
  "id": "text",
  "deleted_at": "2025-05-21T23:46:00.344Z",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "notifications": {},
  "task_notifications": {}
}

Returns all processes that the user has access to

get

Get list Process

Authorizations
Query parameters
filterstringOptional

Filter results by string. Searches Name, Description, and Status. Status must match exactly. Others can be a substring.

order_bystringOptional

Field to order results by

order_directionstring ยท enumOptionalDefault: ascPossible values:
per_pageintegerOptionalDefault: 10
statusstring ยท enumOptional

ACTIVE or INACTIVE

Possible values:
includestringOptional

Include data from related models in payload. Comma separated list.

Default: ""
Responses
200
list of processes
application/json
get
GET /api/1.0/processes HTTP/1.1
Host: 
Accept: */*
200

list of processes

{
  "data": [
    {
      "process_category_id": 1,
      "name": "text",
      "description": "text",
      "status": "ACTIVE",
      "pause_timer_start": 1,
      "cancel_screen_id": 1,
      "has_timer_start_events": true,
      "request_detail_screen_id": 1,
      "is_valid": 1,
      "package_key": "text",
      "start_events": [
        {
          "eventDefinitions": {},
          "parallelMultiple": true,
          "outgoing": {},
          "incoming": {},
          "id": "text",
          "name": "text"
        }
      ],
      "warnings": "text",
      "self_service_tasks": {},
      "signal_events": [
        {}
      ],
      "category": {},
      "manager_id": 1,
      "user_id": 1,
      "id": "text",
      "deleted_at": "2025-05-21T23:46:00.344Z",
      "created_at": "2025-05-21T23:46:00.344Z",
      "updated_at": "2025-05-21T23:46:00.344Z",
      "notifications": {},
      "task_notifications": {}
    }
  ],
  "meta": {
    "filter": "text",
    "sort_by": "text",
    "sort_order": "asc",
    "count": 1,
    "total_pages": 1,
    "current_page": 1,
    "form": 1,
    "last_page": 1,
    "path": "text",
    "per_page": 1,
    "to": 1,
    "total": 1
  }
}

Get single process by ID

get

Display the specified resource.

Authorizations
Path parameters
processIdintegerRequired

ID of process to return

Query parameters
includestringOptional

Include data from related models in payload. Comma separated list.

Default: ""
Responses
200
Successfully found the process
application/json
Responseall of
get
GET /api/1.0/processes/{processId} HTTP/1.1
Host: 
Accept: */*
200

Successfully found the process

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "user_id": 1,
  "id": "text",
  "deleted_at": "2025-05-21T23:46:00.344Z",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "notifications": {},
  "task_notifications": {}
}

Delete a process

delete

Remove the specified resource from storage.

Authorizations
Path parameters
processIdintegerRequired

ID of process to return

Responses
204
success
delete
DELETE /api/1.0/processes/{processId} HTTP/1.1
Host: 
Accept: */*
204

success

No content

Returns the list of processes that the user can start

get

Returns the list of processes that the user can start.

Authorizations
Path parameters
without_event_definitionsbooleanOptional

If true return only processes that haven't start event definitions

Query parameters
filterstringOptional

Filter results by string. Searches Name, Description, and Status. Status must match exactly. Others can be a substring.

order_bystringOptional

Field to order results by

order_directionstring ยท enumOptionalDefault: ascPossible values:
per_pageintegerOptionalDefault: 10
includestringOptional

Include data from related models in payload. Comma separated list.

Default: ""
Responses
200
list of processes that the user can start
application/json
get
GET /api/1.0/start_processes HTTP/1.1
Host: 
Accept: */*
200

list of processes that the user can start

{
  "data": [
    {
      "process_category_id": 1,
      "name": "text",
      "description": "text",
      "status": "ACTIVE",
      "pause_timer_start": 1,
      "cancel_screen_id": 1,
      "has_timer_start_events": true,
      "request_detail_screen_id": 1,
      "is_valid": 1,
      "package_key": "text",
      "start_events": [
        {
          "eventDefinitions": {},
          "parallelMultiple": true,
          "outgoing": {},
          "incoming": {},
          "id": "text",
          "name": "text"
        }
      ],
      "warnings": "text",
      "self_service_tasks": {},
      "signal_events": [
        {}
      ],
      "category": {},
      "manager_id": 1,
      "user_id": 1,
      "id": "text",
      "deleted_at": "2025-05-21T23:46:00.344Z",
      "created_at": "2025-05-21T23:46:00.344Z",
      "updated_at": "2025-05-21T23:46:00.344Z",
      "notifications": {},
      "task_notifications": {}
    },
    {
      "events": [
        {
          "eventDefinitions": {},
          "parallelMultiple": true,
          "outgoing": {},
          "incoming": {},
          "id": "text",
          "name": "text"
        }
      ]
    }
  ],
  "meta": {
    "filter": "text",
    "sort_by": "text",
    "sort_order": "asc",
    "count": 1,
    "total_pages": 1,
    "current_page": 1,
    "form": 1,
    "last_page": 1,
    "path": "text",
    "per_page": 1,
    "to": 1,
    "total": 1
  }
}

Restore an inactive process

put

Reverses the soft delete of the element.

Authorizations
Path parameters
processIdintegerRequired

ID of process to return

Responses
200
success
application/json
Responseall of
put
PUT /api/1.0/processes/{processId}/restore HTTP/1.1
Host: 
Accept: */*
200

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "user_id": 1,
  "id": "text",
  "deleted_at": "2025-05-21T23:46:00.344Z",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "notifications": {},
  "task_notifications": {}
}

Export a single process by ID and return a URL to download it

post

Export the specified process.

Authorizations
Path parameters
processIdintegerRequired

ID of process to export

Responses
200
Successfully built the process for export
application/json
post
POST /api/1.0/processes/{processId}/export HTTP/1.1
Host: 
Accept: */*
200

Successfully built the process for export

{
  "url": "text"
}

Check if the import is ready

head

Check if the import is ready

Authorizations
Path parameters
codestringRequired

Import code

Responses
200
check is import is ready
application/json
head
HEAD /api/1.0/processes/import/{code}/is_ready HTTP/1.1
Host: 
Accept: */*
200

check is import is ready

{
  "ready": true
}
  • GETReturns all processes categories that the user has access to
  • POSTSave a new process Category
  • GETGet single process category by ID
  • PUTUpdate a process Category
  • DELETEDelete a process category
  • GETReturns all processes that the user has access to
  • POSTSave a new process
  • GETGet single process by ID
  • PUTUpdate a process
  • DELETEDelete a process
  • GETReturns the list of processes that the user can start
  • PUTRestore an inactive process
  • POSTExport a single process by ID and return a URL to download it
  • POSTValidate a import
  • POSTImport a new process
  • HEADCheck if the import is ready
  • POSTUpdate assignments after import
  • POSTStart a new process

Returns all processes categories that the user has access to

get

Display a listing of the Process Categories.

Authorizations
Query parameters
filterstringOptional

Filter results by string. Searches Name and Status. All fields must match exactly.

order_bystringOptional

Field to order results by

order_directionstring ยท enumOptionalDefault: ascPossible values:
per_pageintegerOptionalDefault: 10
Responses
200
list of processes categories
application/json
get
GET /api/1.0/process_categories HTTP/1.1
Host: 
Accept: */*
200

list of processes categories

{
  "data": [
    {
      "name": "text",
      "status": "ACTIVE",
      "id": "text",
      "created_at": "2025-05-21T23:46:00.344Z",
      "updated_at": "2025-05-21T23:46:00.344Z"
    }
  ],
  "meta": {}
}

Save a new process Category

post

Store a newly created Process Category in storage

Authorizations
Body
namestringOptional

Represents a business process category definition.

statusstring ยท enumOptionalPossible values:
Responses
201
success
application/json
Responseall of
post
POST /api/1.0/process_categories HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "name": "text",
  "status": "ACTIVE"
}
201

success

{
  "name": "text",
  "status": "ACTIVE",
  "id": "text",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z"
}

Update a process Category

put

Updates the current element

Authorizations
Path parameters
process_category_idintegerRequired

ID of process category to return

Body
namestringOptional

Represents a business process category definition.

statusstring ยท enumOptionalPossible values:
Responses
200
success
application/json
Responseall of
put
PUT /api/1.0/process_categories/{process_category_id} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "name": "text",
  "status": "ACTIVE"
}
200

success

{
  "name": "text",
  "status": "ACTIVE",
  "id": "text",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z"
}

Save a new process

post

Store a newly created resource in storage.

Authorizations
Body
process_category_idinteger ยท idOptional

Represents a business process definition.

namestringOptional
descriptionstringOptional
statusstring ยท enumOptionalPossible values:
pause_timer_startintegerOptional
cancel_screen_idintegerOptional
has_timer_start_eventsbooleanOptional
request_detail_screen_idinteger ยท idOptional
is_validintegerOptional
package_keystringOptional
warningsstringOptional
self_service_tasksobjectOptional
signal_eventsobject[]Optional
categoryobjectOptional
manager_idinteger ยท idOptional
Responses
201
success
application/json
Responseall of
post
POST /api/1.0/processes HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 425

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1
}
201

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "user_id": 1,
  "id": "text",
  "deleted_at": "2025-05-21T23:46:00.344Z",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "notifications": {},
  "task_notifications": {}
}

Update a process

put

Updates the current element.

Authorizations
Path parameters
processIdintegerRequired

ID of process to return

Body
process_category_idinteger ยท idOptional

Represents a business process definition.

namestringOptional
descriptionstringOptional
statusstring ยท enumOptionalPossible values:
pause_timer_startintegerOptional
cancel_screen_idintegerOptional
has_timer_start_eventsbooleanOptional
request_detail_screen_idinteger ยท idOptional
is_validintegerOptional
package_keystringOptional
warningsstringOptional
self_service_tasksobjectOptional
signal_eventsobject[]Optional
categoryobjectOptional
manager_idinteger ยท idOptional
Responses
200
success
application/json
Responseall of
put
PUT /api/1.0/processes/{processId} HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 425

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1
}
200

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": "ACTIVE",
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "user_id": 1,
  "id": "text",
  "deleted_at": "2025-05-21T23:46:00.344Z",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "notifications": {},
  "task_notifications": {}
}

Validate a import

post

Validate the specified process before importing.

Authorizations
Body
filestring ยท binaryOptional

file to import

Responses
200
success
application/json
Responseall of
post
POST /api/1.0/processes/import/validation HTTP/1.1
Host: 
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
200

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": [
    {}
  ],
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "assignable": [
    {}
  ],
  "process": null
}

Import a new process

post

Import the specified process.

Authorizations
Body
filestring ยท binaryOptional

file to import

Responses
200
success
application/json
Responseall of
post
POST /api/1.0/processes/import HTTP/1.1
Host: 
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17

{
  "file": "binary"
}
200

success

{
  "process_category_id": 1,
  "name": "text",
  "description": "text",
  "status": [
    {}
  ],
  "pause_timer_start": 1,
  "cancel_screen_id": 1,
  "has_timer_start_events": true,
  "request_detail_screen_id": 1,
  "is_valid": 1,
  "package_key": "text",
  "start_events": [
    {
      "eventDefinitions": {},
      "parallelMultiple": true,
      "outgoing": {},
      "incoming": {},
      "id": "text",
      "name": "text"
    }
  ],
  "warnings": "text",
  "self_service_tasks": {},
  "signal_events": [
    {}
  ],
  "category": {},
  "manager_id": 1,
  "assignable": [
    {}
  ],
  "process": null
}

Update assignments after import

post

Import Assignments of process.

Authorizations
Path parameters
process_idintegerRequired

ID of process to return

Body
assignableobject[]Optional
cancel_requestobjectOptional
edit_dataobjectOptional
Responses
204
success
post
POST /api/1.0/processes/{process_id}/import/assignments HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 54

{
  "assignable": [
    {}
  ],
  "cancel_request": {},
  "edit_data": {}
}
204

success

No content

Start a new process

post

Trigger an start event within a process.

Authorizations
Path parameters
process_idintegerRequired

ID of process to return

Query parameters
eventstringRequired

Node ID of the start event

Body
objectOptional
Responses
200
success
application/json
Responseall of
post
POST /api/1.0/process_events/{process_id}?event=text HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 2

{}
200

success

{
  "user_id": "text",
  "callable_id": "text",
  "data": {},
  "status": "ACTIVE",
  "name": "text",
  "process_id": "text",
  "process": {},
  "id": "text",
  "process_collaboration_id": "text",
  "participant_id": "text",
  "process_category_id": "text",
  "created_at": "2025-05-21T23:46:00.344Z",
  "updated_at": "2025-05-21T23:46:00.344Z",
  "user": null,
  "participants": [
    {
      "email": "name@gmail.com",
      "firstname": "text",
      "lastname": "text",
      "username": "text",
      "password": "text",
      "address": "text",
      "city": "text",
      "state": "text",
      "postal": "text",
      "country": "text",
      "phone": "text",
      "fax": "text",
      "cell": "text",
      "title": "text",
      "timezone": "text",
      "datetime_format": "text",
      "language": "text",
      "is_administrator": true,
      "expires_at": "text",
      "loggedin_at": "text",
      "remember_token": "text",
      "status": "ACTIVE",
      "fullname": "text",
      "avatar": "text",
      "media": [
        {
          "id": 1,
          "model_id": 1,
          "model_type": "text",
          "collection_name": "text",
          "name": "text",
          "file_name": "text",
          "mime_type": "text",
          "disk": "text",
          "size": 1,
          "manipulations": {},
          "custom_properties": {},
          "responsive_images": {},
          "order_column": 1,
          "created_at": "2025-05-21T23:46:00.344Z",
          "updated_at": "2025-05-21T23:46:00.344Z"
        }
      ],
      "birthdate": "2025-05-21",
      "delegation_user_id": "text",
      "manager_id": "text",
      "meta": {
        "ANY_ADDITIONAL_PROPERTY": "anything"
      },
      "force_change_password": true,
      "id": 1,
      "created_at": "2025-05-21T23:46:00.344Z",
      "updated_at": "2025-05-21T23:46:00.344Z",
      "deleted_at": "2025-05-21T23:46:00.344Z"
    }
  ]
}