{
    "openapi": "3.0.0",
    "info": {
        "title": "ProcessMaker API",
        "description": "",
        "contact": {
            "email": "info@processmaker.com"
        },
        "license": {
            "name": "Apache 2.0",
            "url": "http://www.apache.org/licenses/LICENSE-2.0.html"
        },
        "version": "1.0.0"
    },
    "servers": [
        {
            "url": "/api/1.0"
        }
    ],
    "paths": {
        "/customize-ui": {
            "post": {
                "tags": [
                    "CssSettings"
                ],
                "summary": "Create or update a new setting",
                "description": "Create a new Settings css-override",
                "operationId": "updateCssSetting",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "variables": {
                                        "type": "string"
                                    },
                                    "sansSerifFont": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/settings"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/environment_variables": {
            "get": {
                "tags": [
                    "Environment Variables"
                ],
                "summary": "Returns all environmentVariables that the user has access to. For security, values are not included.",
                "description": "Fetch a collection of variables based on paged request and filter if provided",
                "operationId": "getEnvironmentVariables",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of environmentVariables",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/EnvironmentVariable"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Environment Variables"
                ],
                "summary": "Create a new environment variable",
                "description": "Creates a new global Environment Variable in the system",
                "operationId": "createEnvironmentVariable",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EnvironmentVariableEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/environment_variables/{environment_variable_id}": {
            "get": {
                "tags": [
                    "Environment Variables"
                ],
                "summary": "Get an environment variable by id. For security, the value is not included.",
                "description": "Return an environment variable instance\nUsing implicit model binding, will automatically return 404 if variable now found",
                "operationId": "getEnvironmentVariableById",
                "parameters": [
                    {
                        "name": "environment_variable_id",
                        "in": "path",
                        "description": "ID of environment_variables to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Environment Variables"
                ],
                "summary": "Update an environment variable",
                "description": "Update an environment variable",
                "operationId": "updateEnvironmentVariable",
                "parameters": [
                    {
                        "name": "environment_variable_id",
                        "in": "path",
                        "description": "ID of environment variables to update",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/EnvironmentVariableEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/EnvironmentVariable"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Environment Variables"
                ],
                "summary": "Delete an environment variable",
                "operationId": "deleteEnvironmentVariable",
                "parameters": [
                    {
                        "name": "environment_variable_id",
                        "in": "path",
                        "description": "ID of environment_variables to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success"
                    }
                }
            }
        },
        "/files": {
            "get": {
                "tags": [
                    "Files"
                ],
                "summary": "Returns the list of files",
                "description": "Display a listing of the resource.",
                "operationId": "getFiles",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of files",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/media"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Files"
                ],
                "summary": "Save a new media file. Note: To upload files to a request, use createRequestFile in the RequestFile API",
                "description": "Store a newly created resource in storage.",
                "operationId": "createFile",
                "parameters": [
                    {
                        "name": "model_id",
                        "in": "query",
                        "description": "ID of the model to which the file will be associated",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "model",
                        "in": "query",
                        "description": "Full namespaced class of the model to associate",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "data_name",
                        "in": "query",
                        "description": "Name of the variable used in a request",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "collection",
                        "in": "query",
                        "description": "Media collection name. For requests, use 'default'",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "description": "save a new media file",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "id": {
                                            "type": "string"
                                        },
                                        "model_id": {
                                            "type": "string"
                                        },
                                        "file_name": {
                                            "type": "string"
                                        },
                                        "mime_type": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/files/{file_id}": {
            "get": {
                "tags": [
                    "Files"
                ],
                "summary": "Get the metadata of a file. To actually fetch the file see Get File Contents",
                "description": "Get a single media file.",
                "operationId": "getFileById",
                "parameters": [
                    {
                        "name": "file_id",
                        "in": "path",
                        "description": "ID of the file to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the file",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/media"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Files"
                ],
                "summary": "Delete a media file",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteFile",
                "parameters": [
                    {
                        "name": "file_id",
                        "in": "path",
                        "description": "ID of the file",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/files/{file_id}/contents": {
            "get": {
                "tags": [
                    "Files"
                ],
                "summary": "Get the contents of a file",
                "description": "Display the specified resource.",
                "operationId": "getFileContentsById",
                "parameters": [
                    {
                        "name": "file_id",
                        "in": "path",
                        "description": "ID of the file to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File stream",
                        "content": {
                            "application/octet-stream": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/groups": {
            "get": {
                "tags": [
                    "Groups"
                ],
                "summary": "Returns all groups that the user has access to",
                "description": "Display a listing of the resource.",
                "operationId": "getGroups",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/status"
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of groups",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/groups"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Groups"
                ],
                "summary": "Save a new group",
                "description": "Store a newly created resource in storage.",
                "operationId": "createGroup",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/groupsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/groups"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            }
        },
        "/groups/{group_id}": {
            "get": {
                "tags": [
                    "Groups"
                ],
                "summary": "Get single group by ID",
                "description": "Display the specified resource.",
                "operationId": "getGroupById",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/groups"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "put": {
                "tags": [
                    "Groups"
                ],
                "summary": "Update a group",
                "description": "Update a user",
                "operationId": "updateGroup",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/groupsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Groups"
                ],
                "summary": "Delete a group",
                "description": "Delete a user",
                "operationId": "deleteGroup",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/groups/{group_id}/users": {
            "get": {
                "tags": [
                    "Groups"
                ],
                "summary": "Returns all users of a group",
                "description": "Display the list of users in a group",
                "operationId": "getGroupUsers",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of members of a group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/users"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/groups/{group_id}/groups": {
            "get": {
                "tags": [
                    "Groups"
                ],
                "summary": "Returns all users of a group",
                "description": "Display the list of groups in a group",
                "operationId": "getGroupGroupss",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of members of a group",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/groups"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/group_members": {
            "get": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Returns all groups for a given member",
                "description": "Display a listing of the resource.",
                "operationId": "getGroupMembers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/member_id"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of group_members",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/groupMembers"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Save a new group member",
                "description": "Store a newly created resource in storage.",
                "operationId": "createGroupMember",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/groupMembersEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/createGroupMembers"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/group_members/{group_member_id}": {
            "get": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Get single group member by ID",
                "description": "Display the specified resource.",
                "operationId": "getGroupMemberById",
                "parameters": [
                    {
                        "name": "group_member_id",
                        "in": "path",
                        "description": "ID of group members to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the group members",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/getGroupMembersById"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Delete a group member",
                "description": "Delete a group membership",
                "operationId": "deleteGroupMember",
                "parameters": [
                    {
                        "name": "group_member_id",
                        "in": "path",
                        "description": "ID of group_members to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/group_members_available": {
            "get": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Returns all groups available for a given member",
                "description": "Display a listing of groups available",
                "operationId": "getGroupMembersAvailable",
                "parameters": [
                    {
                        "name": "member_id",
                        "in": "path",
                        "description": "ID of group member to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "member_type",
                        "in": "path",
                        "description": "type of group member to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of groups available to be assigned as member",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/availableGroupMembers"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/user_members_available": {
            "get": {
                "tags": [
                    "Group Members"
                ],
                "summary": "Returns all users available for a given group",
                "description": "Display a listing of users available",
                "operationId": "getUserMembersAvailable",
                "parameters": [
                    {
                        "name": "group_id",
                        "in": "path",
                        "description": "ID of group to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter results by string. Searches Name. Can be a substring.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of users available to be assigned as member",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/users"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/notifications": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Returns all notifications that the user has access to",
                "description": "Display a listing of the resource.",
                "operationId": "getNotifications",
                "parameters": [
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Only return notifications by status (unread, all, etc.)",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of notifications",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Notification"
                                            }
                                        },
                                        "meta": {}
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Save a new notifications",
                "description": "Store a newly created resource in storage.",
                "operationId": "createNotification",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Notification"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/notifications/{notification_id}": {
            "get": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Get single notification by ID",
                "description": "Display the specified resource.",
                "operationId": "getNotificationById",
                "parameters": [
                    {
                        "name": "notification_id",
                        "in": "path",
                        "description": "ID of notification to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the notification",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Notification"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Update a notification",
                "description": "Update a user",
                "operationId": "updateNotification",
                "parameters": [
                    {
                        "name": "notification_id",
                        "in": "path",
                        "description": "ID of notification to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/NotificationEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Delete a notification",
                "description": "Delete a notification",
                "operationId": "deleteNotification",
                "parameters": [
                    {
                        "name": "notification_id",
                        "in": "path",
                        "description": "ID of notification to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/read_notifications": {
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Mark notifications as read by the user",
                "description": "Update notification as read",
                "operationId": "markNotificationAsRead",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "message_ids": {
                                        "description": "list of message ids that will be marked as read",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "routes": {
                                        "description": "all messages that has an url that is in this list will be marked as read",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success"
                    }
                }
            }
        },
        "/unread_notifications": {
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Mark notifications as unread by the user",
                "description": "Update notifications as unread",
                "operationId": "markNotificationAsUnread",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "message_ids": {
                                        "description": "list of message ids that will be marked as read",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    },
                                    "routes": {
                                        "description": "all messages that has an url that is in this list will be marked as read",
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success"
                    }
                }
            }
        },
        "/read_all_notifications": {
            "put": {
                "tags": [
                    "Notifications"
                ],
                "summary": "Mark notifications as read by id and type",
                "description": "Update all notification as read.",
                "operationId": "markAllAsRead",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "id": {
                                        "description": "Polymorphic relation id",
                                        "type": "integer"
                                    },
                                    "type": {
                                        "description": "Polymorphic relation type",
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success"
                    }
                }
            }
        },
        "/permissions": {
            "put": {
                "tags": [
                    "Permissions"
                ],
                "summary": "Update the permissions of a user",
                "description": "Update permissions",
                "operationId": "51b3555fb753f44324bf5c3880e01454",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "user_id": {
                                        "description": "ID of the user whose permissions are configured",
                                        "type": "integer"
                                    },
                                    "group_id": {
                                        "description": "ID of the group whose permissions are configured",
                                        "type": "integer"
                                    },
                                    "is_administrator": {
                                        "description": "Whether the user should have Super Admin privileges",
                                        "type": "boolean",
                                        "default": false
                                    },
                                    "permission_names": {
                                        "type": "array",
                                        "items": {
                                            "type": "string"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/process_categories": {
            "get": {
                "tags": [
                    "Process Categories"
                ],
                "summary": "Returns all processes categories that the user has access to",
                "description": "Display a listing of the Process Categories.",
                "operationId": "getProcessCategories",
                "parameters": [
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter results by string. Searches Name and Status. All fields must match exactly.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of processes categories",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProcessCategory"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Process Categories"
                ],
                "summary": "Save a new process Category",
                "description": "Store a newly created Process Category in storage",
                "operationId": "createProcessCategory",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProcessCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProcessCategory"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/process_categories/{process_category_id}": {
            "get": {
                "tags": [
                    "Process Categories"
                ],
                "summary": "Get single process category by ID",
                "description": "Display the specified Process category.",
                "operationId": "getProcessCategoryById",
                "parameters": [
                    {
                        "name": "process_category_id",
                        "in": "path",
                        "description": "ID of process category to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the process",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProcessCategory"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Process Categories"
                ],
                "summary": "Update a process Category",
                "description": "Updates the current element",
                "operationId": "updateProcessCategory",
                "parameters": [
                    {
                        "name": "process_category_id",
                        "in": "path",
                        "description": "ID of process category to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProcessCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProcessCategory"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Process Categories"
                ],
                "summary": "Delete a process category",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteProcessCategory",
                "parameters": [
                    {
                        "name": "process_category_id",
                        "in": "path",
                        "description": "ID of process category to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Process"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes": {
            "get": {
                "tags": [
                    "Processes"
                ],
                "summary": "Returns all processes that the user has access to",
                "description": "Get list Process",
                "operationId": "getProcesses",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/status"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of processes",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/Process"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Processes"
                ],
                "summary": "Save a new process",
                "description": "Store a newly created resource in storage.",
                "operationId": "createProcess",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProcessEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Process"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/{processId}": {
            "get": {
                "tags": [
                    "Processes"
                ],
                "summary": "Get single process by ID",
                "description": "Display the specified resource.",
                "operationId": "getProcessById",
                "parameters": [
                    {
                        "name": "processId",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the process",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Process"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Processes"
                ],
                "summary": "Update a process",
                "description": "Updates the current element",
                "operationId": "updateProcess",
                "parameters": [
                    {
                        "name": "processId",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProcessEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Process"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Processes"
                ],
                "summary": "Delete a process",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteProcess",
                "parameters": [
                    {
                        "name": "processId",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/start_processes": {
            "get": {
                "tags": [
                    "Processes"
                ],
                "summary": "Returns the list of processes that the user can start",
                "description": "Returns the list of processes that the user can start.",
                "operationId": "startProcesses",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "without_event_definitions",
                        "in": "path",
                        "description": "If true return only processes that haven't start event definitions",
                        "required": false
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of processes that the user can start",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ProcessWithStartEvents"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/{processId}/restore": {
            "put": {
                "tags": [
                    "Processes"
                ],
                "summary": "Restore an inactive process",
                "description": "Reverses the soft delete of the element",
                "operationId": "restoreProcess",
                "parameters": [
                    {
                        "name": "processId",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Process"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/{processId}/export": {
            "post": {
                "tags": [
                    "Processes"
                ],
                "summary": "Export a single process by ID and return a URL to download it",
                "description": "Export the specified process.",
                "operationId": "exportProcess",
                "parameters": [
                    {
                        "name": "processId",
                        "in": "path",
                        "description": "ID of process to export",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully built the process for export",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "url": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/import": {
            "post": {
                "tags": [
                    "Processes"
                ],
                "summary": "Import a new process",
                "description": "Import the specified process.",
                "operationId": "importProcess",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "description": "file to import",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ProcessImport"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/import/{code}/is_ready": {
            "head": {
                "tags": [
                    "Processes"
                ],
                "summary": "Check if the import is ready",
                "description": "Check if the import is ready",
                "operationId": "6a131993b7c879ddcd3d3a291dd8380f",
                "parameters": [
                    {
                        "name": "code",
                        "in": "path",
                        "description": "Import code",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "check is import is ready",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "ready": {
                                            "type": "boolean"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/processes/{process_id}/import/assignments": {
            "post": {
                "tags": [
                    "Processes"
                ],
                "summary": "Update assignments after import",
                "description": "Import Assignments of process.",
                "operationId": "assignmentProcess",
                "parameters": [
                    {
                        "name": "process_id",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ProcessAssignments"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/process_events/{process_id}": {
            "post": {
                "tags": [
                    "Processes"
                ],
                "summary": "Start a new process",
                "description": "Trigger an start event within a process.",
                "operationId": "triggerStartEvent",
                "parameters": [
                    {
                        "name": "process_id",
                        "in": "path",
                        "description": "ID of process to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "event",
                        "in": "query",
                        "description": "Node ID of the start event",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "description": "data that will be stored as part of the created request",
                    "required": false,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/processRequest"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/requests": {
            "get": {
                "tags": [
                    "Process Requests"
                ],
                "summary": "Returns all process Requests that the user has access to",
                "description": "Display a listing of the resource.",
                "operationId": "getProcessesRequests",
                "parameters": [
                    {
                        "name": "type",
                        "in": "query",
                        "description": "Only return requests by type (all|in_progress|completed)",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "enum": [
                                "all",
                                "in_progress",
                                "completed",
                                "started_me"
                            ]
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of processes",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/processRequest"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/requests/{process_request_id}": {
            "get": {
                "tags": [
                    "Process Requests"
                ],
                "summary": "Get single process request by ID",
                "description": "Display the specified resource.",
                "operationId": "getProcessRequestById",
                "parameters": [
                    {
                        "name": "process_request_id",
                        "in": "path",
                        "description": "ID of process request to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the process",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/processRequest"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "put": {
                "tags": [
                    "Process Requests"
                ],
                "summary": "Update a process request",
                "description": "Update a request",
                "operationId": "updateProcessRequest",
                "parameters": [
                    {
                        "name": "process_request_id",
                        "in": "path",
                        "description": "ID of process request to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/processRequestEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Process Requests"
                ],
                "summary": "Delete a process request",
                "description": "Delete a request",
                "operationId": "deleteProcessRequest",
                "parameters": [
                    {
                        "name": "process_request_id",
                        "in": "path",
                        "description": "ID of process request to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/processRequest"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/requests/{process_request_id}/events/{event_id}": {
            "post": {
                "tags": [
                    "Process Requests"
                ],
                "summary": "Update a process request event",
                "description": "Trigger a intermediate catch event",
                "operationId": "updateProcessRequestEvent",
                "parameters": [
                    {
                        "name": "process_request_id",
                        "in": "path",
                        "description": "ID of process request to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "event_id",
                        "in": "path",
                        "description": "ID of process event to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/requests/{request_id}/files": {
            "get": {
                "tags": [
                    "Request Files"
                ],
                "summary": "Returns the list of files associated with a request",
                "description": "Display a listing of the resource.",
                "operationId": "getRequestFiles",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "name": "request_id",
                        "in": "path",
                        "description": "ID of the request",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of files",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/media"
                                            }
                                        },
                                        "meta": {
                                            "type": "object",
                                            "allOf": [
                                                {
                                                    "$ref": "#/components/schemas/metadata"
                                                }
                                            ]
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Request Files"
                ],
                "summary": "Save a new media file to a request",
                "description": "Store a newly created resource in storage.",
                "operationId": "createRequestFile",
                "parameters": [
                    {
                        "name": "request_id",
                        "in": "path",
                        "description": "ID of the request",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "data_name",
                        "in": "query",
                        "description": "Variable name in the request data to use for the file name",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "description": "save a new media file",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "message": {
                                            "type": "string"
                                        },
                                        "fileUploadId": {
                                            "type": "integer"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/requests/{request_id}/files/{file_id}": {
            "get": {
                "tags": [
                    "Request Files"
                ],
                "summary": "Get a file uploaded to a request",
                "description": "Display the specified resource.",
                "operationId": "getRequestFilesById",
                "parameters": [
                    {
                        "name": "request_id",
                        "in": "path",
                        "description": "ID of the request",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "file_id",
                        "in": "path",
                        "description": "ID of the file to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "File stream",
                        "content": {
                            "application/octet-stream": {
                                "schema": {
                                    "type": "string",
                                    "format": "binary"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Request Files"
                ],
                "summary": "Delete all media associated with a request",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteRequestFile",
                "parameters": [
                    {
                        "name": "file_id",
                        "in": "path",
                        "description": "ID of the file",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "request_id",
                        "in": "path",
                        "description": "ID of the request",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/screen_categories": {
            "get": {
                "tags": [
                    "Screen Categories"
                ],
                "summary": "Returns all screens categories that the user has access to",
                "description": "Display a listing of the Screen Categories.",
                "operationId": "getScreenCategories",
                "parameters": [
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter results by string. Searches Name, Description, and Status. All fields must match exactly.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of screens categories",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ScreenCategory"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Screen Categories"
                ],
                "summary": "Save a new Screen Category",
                "description": "Store a newly created Screen Category in storage",
                "operationId": "createScreenCategory",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ScreenCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScreenCategory"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/screen_categories/{screen_category_id}": {
            "get": {
                "tags": [
                    "Screen Categories"
                ],
                "summary": "Get single screen category by ID",
                "description": "Display the specified screen category.",
                "operationId": "getScreenCategoryById",
                "parameters": [
                    {
                        "name": "screen_category_id",
                        "in": "path",
                        "description": "ID of screen category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the screen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScreenCategory"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Screen Categories"
                ],
                "summary": "Update a screen Category",
                "description": "Updates the current element",
                "operationId": "updateScreenCategory",
                "parameters": [
                    {
                        "name": "screen_category_id",
                        "in": "path",
                        "description": "ID of screen category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ScreenCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScreenCategory"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Screen Categories"
                ],
                "summary": "Delete a screen category",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteScreenCategory",
                "parameters": [
                    {
                        "name": "screen_category_id",
                        "in": "path",
                        "description": "ID of screen category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/screens": {
            "get": {
                "tags": [
                    "Screens"
                ],
                "summary": "Returns all screens that the user has access to",
                "description": "Get a list of Screens.",
                "operationId": "getScreens",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "exclude",
                        "in": "query",
                        "description": "Comma separated list of fields to exclude from the response",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of screens",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/screens"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Screens"
                ],
                "summary": "Save a new screens",
                "description": "Create a new Screen.",
                "operationId": "createScreen",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/screensEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/screens"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/screens/{screens_id}": {
            "get": {
                "tags": [
                    "Screens"
                ],
                "summary": "Get single screens by ID",
                "description": "Get a single Screen.",
                "operationId": "getScreensById",
                "parameters": [
                    {
                        "name": "screens_id",
                        "in": "path",
                        "description": "ID of screens to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the screen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/screens"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Screens"
                ],
                "summary": "Update a screen",
                "description": "Update a Screen.",
                "operationId": "updateScreen",
                "parameters": [
                    {
                        "name": "screens_id",
                        "in": "path",
                        "description": "ID of screen to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/screensEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Screens"
                ],
                "summary": "Delete a screen",
                "description": "Delete a Screen.",
                "operationId": "deleteScreen",
                "parameters": [
                    {
                        "name": "screens_id",
                        "in": "path",
                        "description": "ID of screen to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/screens/{screens_id}/duplicate": {
            "put": {
                "tags": [
                    "Screens"
                ],
                "summary": "duplicate a screen",
                "description": "duplicate a Screen.",
                "operationId": "duplicateScreen",
                "parameters": [
                    {
                        "name": "screens_id",
                        "in": "path",
                        "description": "ID of screen to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/screensEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/screens"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/screens/{screensId}/export": {
            "post": {
                "tags": [
                    "Screens"
                ],
                "summary": "Export a single screen by ID",
                "description": "Export the specified screen.",
                "operationId": "exportScreen",
                "parameters": [
                    {
                        "name": "screensId",
                        "in": "path",
                        "description": "ID of screen to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully exported the screen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/screenExported"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/screens/import": {
            "post": {
                "tags": [
                    "Screens"
                ],
                "summary": "Import a new screen",
                "description": "Import the specified screen.",
                "operationId": "importScreen",
                "requestBody": {
                    "required": true,
                    "content": {
                        "multipart/form-data": {
                            "schema": {
                                "properties": {
                                    "file": {
                                        "description": "file to import",
                                        "type": "string",
                                        "format": "binary"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/screens/preview": {
            "post": {
                "tags": [
                    "Screens"
                ],
                "summary": "Preview a screen",
                "description": "Get preview a screen",
                "operationId": "preview",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "config": {
                                        "type": "object"
                                    },
                                    "watchers": {
                                        "type": "object"
                                    },
                                    "computed": {
                                        "type": "object"
                                    },
                                    "custom_css": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Successfully found the screen",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/screens"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script_categories": {
            "get": {
                "tags": [
                    "Script Categories"
                ],
                "summary": "Returns all scripts categories that the user has access to",
                "description": "Display a listing of the Script Categories.",
                "operationId": "getScriptCategories",
                "parameters": [
                    {
                        "name": "filter",
                        "in": "query",
                        "description": "Filter results by string. Searches Name, Description, and Status. All fields must match exactly.",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of scripts categories",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/ScriptCategory"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Script Categories"
                ],
                "summary": "Save a new Script Category",
                "description": "Store a newly created Script Category in storage",
                "operationId": "createScriptCategory",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ScriptCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScriptCategory"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script_categories/{script_category_id}": {
            "get": {
                "tags": [
                    "Script Categories"
                ],
                "summary": "Get single script category by ID",
                "description": "Display the specified script category.",
                "operationId": "getScriptCategoryById",
                "parameters": [
                    {
                        "name": "script_category_id",
                        "in": "path",
                        "description": "ID of script category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the script",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScriptCategory"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Script Categories"
                ],
                "summary": "Update a script Category",
                "description": "Updates the current element",
                "operationId": "updateScriptCategory",
                "parameters": [
                    {
                        "name": "script_category_id",
                        "in": "path",
                        "description": "ID of script category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/ScriptCategoryEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ScriptCategory"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Script Categories"
                ],
                "summary": "Delete a script category",
                "description": "Remove the specified resource from storage.",
                "operationId": "deleteScriptCategory",
                "parameters": [
                    {
                        "name": "script_category_id",
                        "in": "path",
                        "description": "ID of script category to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/scripts": {
            "get": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Returns all scripts that the user has access to",
                "description": "Get a list of scripts in a process.",
                "operationId": "getScripts",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of scripts",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/scripts"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Save a new script",
                "description": "Create a new script in a process.",
                "operationId": "createScript",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/scriptsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/scripts"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/scripts/{script_id}/preview": {
            "post": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Test script code without saving it",
                "description": "Previews executing a script, with sample data/config data",
                "operationId": "previewScript",
                "parameters": [
                    {
                        "name": "script_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "config": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "code": {
                                        "type": "string"
                                    },
                                    "nonce": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success if the script was queued"
                    }
                }
            }
        },
        "/scripts/execute/{script_id}": {
            "post": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Execute script",
                "description": "Executes a script, with sample data/config data",
                "operationId": "executeScript",
                "parameters": [
                    {
                        "name": "script_id",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "data": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    },
                                    "config": {
                                        "type": "array",
                                        "items": {
                                            "type": "object"
                                        }
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success if the script was queued",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/scriptsPreview"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/scripts/execution/{key}": {
            "get": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Get the response of a script execution by execution key",
                "description": "Get the response of a script execution",
                "operationId": "getScriptExecutionResponse",
                "parameters": [
                    {
                        "name": "key",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "response of a script execution",
                        "content": {
                            "application/json": {
                                "schema": {}
                            }
                        }
                    }
                }
            }
        },
        "/scripts/{script_id}": {
            "get": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Get single script by ID",
                "description": "Get a single script in a process.",
                "operationId": "getScriptsById",
                "parameters": [
                    {
                        "name": "script_id",
                        "in": "path",
                        "description": "ID of script to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the script",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/scripts"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Update a script",
                "description": "Update a script in a process.",
                "operationId": "updateScript",
                "parameters": [
                    {
                        "name": "script_id",
                        "in": "path",
                        "description": "ID of script to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/scriptsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Scripts"
                ],
                "summary": "Delete a script",
                "description": "Delete a script in a process.",
                "operationId": "deleteScript",
                "parameters": [
                    {
                        "name": "script_id",
                        "in": "path",
                        "description": "ID of script to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/scripts/{scripts_id}/duplicate": {
            "put": {
                "tags": [
                    "Scripts"
                ],
                "summary": "duplicate a script",
                "description": "duplicate a Script.",
                "operationId": "duplicateScript",
                "parameters": [
                    {
                        "name": "scripts_id",
                        "in": "path",
                        "description": "ID of script to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/scriptsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/scripts"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script-executors": {
            "get": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Returns all script executors that the user has access to",
                "description": "Get a list of script executors.",
                "operationId": "getScriptExecutors",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of script executors",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/scriptExecutors"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Create a script executor",
                "description": "Create a script executor",
                "operationId": "createScriptExecutor",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/scriptExecutorsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script-executors/{script_executor}": {
            "put": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Update script executor",
                "description": "Update and rebuild the script executor",
                "operationId": "updateScriptExecutor",
                "parameters": [
                    {
                        "name": "script_executor",
                        "in": "path",
                        "description": "ID of script executor to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/scriptExecutorsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Delete a script executor",
                "description": "Delete a script executor",
                "operationId": "deleteScriptExecutor",
                "parameters": [
                    {
                        "name": "script_executor",
                        "in": "path",
                        "description": "ID of script executor to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script-executors/cancel": {
            "post": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Cancel a script executor",
                "description": "Cancel a script executor",
                "operationId": "cancelScriptExecutor",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "pidFile": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "status": {
                                            "type": "string"
                                        },
                                        "id": {
                                            "type": "string"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/script-executors/available-languages": {
            "get": {
                "tags": [
                    "Rebuild Script Executors"
                ],
                "summary": "Returns all available languages",
                "description": "Get a list of available languages.",
                "operationId": "getAvailableLanguages",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of available languages",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/availableLanguages"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/security-logs": {
            "get": {
                "tags": [
                    "Secuirty Logs"
                ],
                "summary": "Returns all security logs",
                "description": "Get a list of Security Logs.",
                "operationId": "getSecurityLogs",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of security logs",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/securityLog"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/security-logs/{securityLog}": {
            "get": {
                "tags": [
                    "Secuirty Logs"
                ],
                "summary": "Get single security log by ID",
                "description": "Display the specified resource.",
                "operationId": "getSecurityLog",
                "parameters": [
                    {
                        "name": "securityLog",
                        "in": "path",
                        "description": "ID of security log to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the security log",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/securityLog"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/settings": {
            "get": {
                "tags": [
                    "Settings"
                ],
                "summary": "Returns all settings",
                "description": "Display a listing of the resource.",
                "operationId": "getSettings",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of settings",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/settings"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/settings/{setting_id}": {
            "put": {
                "tags": [
                    "Settings"
                ],
                "summary": "Update a setting",
                "description": "Update a setting",
                "operationId": "updateSetting",
                "parameters": [
                    {
                        "name": "setting_id",
                        "in": "path",
                        "description": "ID of setting to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/settingsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            }
        },
        "/signals": {
            "get": {
                "tags": [
                    "Signals"
                ],
                "summary": "Returns all signals",
                "description": "Display a listing of the resource.",
                "operationId": "getSignals",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of signals",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/signals"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Signals"
                ],
                "summary": "Creates a new Global Signal",
                "description": "Creates a new global signal",
                "operationId": "createSignal",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/signalsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/signals"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/signals/{signal_id}": {
            "get": {
                "tags": [
                    "Signals"
                ],
                "summary": "Get a single signal by ID",
                "description": "Display the specified resource.",
                "operationId": "getSignalsById",
                "parameters": [
                    {
                        "name": "signal_id",
                        "in": "path",
                        "description": "signal id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/signals"
                                }
                            }
                        }
                    }
                }
            },
            "put": {
                "tags": [
                    "Signals"
                ],
                "summary": "Update a signal",
                "operationId": "updateSignal",
                "parameters": [
                    {
                        "name": "signal_id",
                        "in": "path",
                        "description": "ID of signal to update",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/signalsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/signals"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Signals"
                ],
                "summary": "Delete a signal",
                "operationId": "deleteSignal",
                "parameters": [
                    {
                        "name": "signal_id",
                        "in": "path",
                        "description": "ID of signal to delete",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/task_assignments": {
            "get": {
                "tags": [
                    "Task Assignments"
                ],
                "summary": "Returns all task assignments",
                "description": "Display a listing of the resource.",
                "operationId": "getTaskAssignments",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of task assignments",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/taskAssignments"
                                            }
                                        },
                                        "meta": {
                                            "type": "object"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Task Assignments"
                ],
                "summary": "Save a new Task Assignment",
                "description": "Store a newly created task assignment in storage.",
                "operationId": "createTaskAssignments",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/taskAssignmentsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/taskAssignments"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            }
        },
        "/task_assignments/{task_assignment}": {
            "put": {
                "tags": [
                    "Task Assignments"
                ],
                "summary": "Update a Task Assignment",
                "description": "Update a task assignment",
                "operationId": "updateTaskAssignments",
                "parameters": [
                    {
                        "name": "task_assignment",
                        "in": "path",
                        "description": "ID of task assignment to update",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/taskAssignmentsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Task Assignments"
                ],
                "summary": "Delete a Task Assignment",
                "description": "Remove an assignment",
                "operationId": "deleteTaskAssignments",
                "parameters": [
                    {
                        "name": "task_assignment",
                        "in": "path",
                        "description": "ID of task assignment to delete",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/taskAssignmentsEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success"
                    }
                }
            }
        },
        "/tasks": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Returns all tasks that the user has access to",
                "description": "Display a listing of the resource.",
                "operationId": "getTasks",
                "parameters": [
                    {
                        "name": "process_request_id",
                        "in": "query",
                        "description": "Process request id",
                        "required": false,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of tasks",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/processRequestToken"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/tasks/{task_id}": {
            "get": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Get a single task by ID",
                "description": "Display the specified resource.",
                "operationId": "getTasksById",
                "parameters": [
                    {
                        "name": "task_id",
                        "in": "path",
                        "description": "task id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/processRequestToken"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "put": {
                "tags": [
                    "Tasks"
                ],
                "summary": "Update a task",
                "description": "Updates the current element",
                "operationId": "updateTask",
                "parameters": [
                    {
                        "name": "task_id",
                        "in": "path",
                        "description": "ID of task to update",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "required": [
                                    "status",
                                    "data"
                                ],
                                "properties": {
                                    "status": {
                                        "type": "string",
                                        "example": "COMPLETED"
                                    },
                                    "data": {
                                        "type": "object"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/processRequestToken"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            }
        },
        "/users": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Returns all users",
                "description": "Display a listing of the resource.",
                "operationId": "getUsers",
                "parameters": [
                    {
                        "$ref": "#/components/parameters/status"
                    },
                    {
                        "$ref": "#/components/parameters/filter"
                    },
                    {
                        "$ref": "#/components/parameters/order_by"
                    },
                    {
                        "$ref": "#/components/parameters/order_direction"
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    },
                    {
                        "$ref": "#/components/parameters/include"
                    },
                    {
                        "name": "exclude_ids",
                        "in": "query",
                        "description": "Comma separated list of IDs to exclude from the response",
                        "schema": {
                            "type": "string",
                            "default": ""
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "list of users",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/users"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Users"
                ],
                "summary": "Save a new users",
                "description": "Store a newly created resource in storage.",
                "operationId": "createUser",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/usersEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/users"
                                }
                            }
                        }
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            }
        },
        "/users/{user_id}": {
            "get": {
                "tags": [
                    "Users"
                ],
                "summary": "Get single user by ID",
                "description": "Display the specified resource.",
                "operationId": "getUserById",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "ID of user to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the process",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/users"
                                }
                            }
                        }
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            },
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Update a user",
                "description": "Update a user",
                "operationId": "updateUser",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "ID of user to return",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/usersEditable"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    },
                    "422": {
                        "$ref": "#/components/responses/422"
                    }
                }
            },
            "delete": {
                "tags": [
                    "Users"
                ],
                "summary": "Delete a user",
                "description": "Delete a user",
                "operationId": "deleteUser",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "ID of user to delete",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    },
                    "404": {
                        "$ref": "#/components/responses/404"
                    }
                }
            }
        },
        "/users/{user_id}/groups": {
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Set the groups a users belongs to",
                "operationId": "updateUserGroups",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "ID of user",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/updateUserGroups"
                            }
                        }
                    }
                },
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        },
        "/users/restore": {
            "put": {
                "tags": [
                    "Users"
                ],
                "summary": "Restore a soft deleted user",
                "operationId": "restoreUser",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/restoreUser"
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "success"
                    }
                }
            }
        },
        "/users/{user_id}/tokens": {
            "get": {
                "tags": [
                    "Personal Tokens"
                ],
                "summary": "Display listing of access tokens for the specified user.",
                "description": "Display listing of access tokens for the specified user.",
                "operationId": "getTokens",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "User id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "$ref": "#/components/parameters/per_page"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of tokens.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "properties": {
                                        "data": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/UserToken"
                                            }
                                        },
                                        "meta": {
                                            "$ref": "#/components/schemas/metadata"
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            },
            "post": {
                "tags": [
                    "Personal Tokens"
                ],
                "summary": "Create new token for a specific user",
                "description": "Create a new personal access token for the user.",
                "operationId": "createTokens",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "User id",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "properties": {
                                    "name": {
                                        "type": "string"
                                    }
                                },
                                "type": "object"
                            }
                        }
                    }
                },
                "responses": {
                    "201": {
                        "description": "New token instance",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserToken"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/users/{user_id}/tokens/{token_id}": {
            "get": {
                "tags": [
                    "Personal Tokens"
                ],
                "summary": "Get single token by ID",
                "description": "Show a personal access token for the user",
                "operationId": "getTokenById",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "ID of user",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "token_id",
                        "in": "path",
                        "description": "ID of token to return",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Successfully found the token",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/UserToken"
                                }
                            }
                        }
                    }
                }
            },
            "delete": {
                "tags": [
                    "Personal Tokens"
                ],
                "summary": "Delete a token",
                "description": "Delete the given token for a user",
                "operationId": "deleteToken",
                "parameters": [
                    {
                        "name": "user_id",
                        "in": "path",
                        "description": "User ID",
                        "required": true,
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "name": "token_id",
                        "in": "path",
                        "description": "Token ID",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "success"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "DateTime": {
                "properties": {
                    "date": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "updateUserGroups": {
                "description": "Update a user's groups",
                "properties": {
                    "groups": {
                        "type": "array",
                        "items": {
                            "type": "integer",
                            "example": 1
                        }
                    }
                },
                "type": "object"
            },
            "restoreUser": {
                "description": "Reverses the soft delete of a user",
                "properties": {
                    "username": {
                        "description": "Username to restore",
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "metadata": {
                "properties": {
                    "filter": {
                        "type": "string"
                    },
                    "sort_by": {
                        "type": "string"
                    },
                    "sort_order": {
                        "type": "string",
                        "enum": [
                            "asc",
                            "desc"
                        ]
                    },
                    "count": {
                        "type": "integer"
                    },
                    "total_pages": {
                        "type": "integer"
                    },
                    "current_page": {
                        "type": "integer"
                    },
                    "form": {
                        "type": "integer"
                    },
                    "last_page": {
                        "type": "integer"
                    },
                    "path": {
                        "type": "string"
                    },
                    "per_page": {
                        "type": "integer"
                    },
                    "to": {
                        "type": "integer"
                    },
                    "total": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "taskMetadata": {
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "filter": {
                                "type": "string"
                            },
                            "sort_by": {
                                "type": "string"
                            },
                            "sort_order": {
                                "type": "string",
                                "enum": [
                                    "asc",
                                    "desc"
                                ]
                            },
                            "count": {
                                "type": "integer"
                            },
                            "total_pages": {
                                "type": "integer"
                            },
                            "current_page": {
                                "type": "integer"
                            },
                            "form": {
                                "type": "integer"
                            },
                            "last_page": {
                                "type": "integer"
                            },
                            "path": {
                                "type": "string"
                            },
                            "per_page": {
                                "type": "integer"
                            },
                            "to": {
                                "type": "integer"
                            },
                            "total": {
                                "type": "integer"
                            },
                            "in_overdue": {
                                "type": "integer"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/metadata"
                    }
                ]
            },
            "signalsEditable": {
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "id"
                    },
                    "name": {
                        "type": "string"
                    },
                    "detail": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "signals": {
                "description": "Represents a business signal definition.",
                "allOf": [
                    {
                        "properties": {
                            "type": {
                                "type": "string"
                            },
                            "processes": {
                                "type": "array",
                                "items": {
                                    "properties": {
                                        "id": {
                                            "type": "integer",
                                            "format": "id"
                                        },
                                        "is_system": {
                                            "type": "boolean"
                                        },
                                        "name": {
                                            "type": "string"
                                        },
                                        "catches": {
                                            "type": "array",
                                            "items": {
                                                "properties": {
                                                    "id": {
                                                        "type": "integer",
                                                        "format": "id"
                                                    },
                                                    "name": {
                                                        "type": "string"
                                                    },
                                                    "type": {
                                                        "type": "string"
                                                    }
                                                },
                                                "type": "object"
                                            }
                                        }
                                    },
                                    "type": "object"
                                }
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/signalsEditable"
                    }
                ]
            },
            "columns": {
                "properties": {
                    "label": {
                        "type": "string"
                    },
                    "field": {
                        "type": "string"
                    },
                    "sortable": {
                        "type": "boolean"
                    },
                    "default": {
                        "type": "boolean"
                    },
                    "format": {
                        "type": "string"
                    },
                    "mask": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "commentsEditable": {
                "properties": {
                    "id": {
                        "type": "string",
                        "format": "id"
                    },
                    "user_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "commentable_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "commentable_type": {
                        "type": "string"
                    },
                    "up": {
                        "type": "integer"
                    },
                    "down": {
                        "type": "integer"
                    },
                    "subject": {
                        "type": "string"
                    },
                    "body": {
                        "type": "string"
                    },
                    "hidden": {
                        "type": "boolean"
                    },
                    "type": {
                        "type": "string",
                        "enum": [
                            "LOG",
                            "MESSAGE"
                        ]
                    }
                },
                "type": "object"
            },
            "comments": {
                "description": "Represents a business process definition.",
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/commentsEditable"
                    }
                ]
            },
            "EnvironmentVariableEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "EnvironmentVariable": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/EnvironmentVariableEditable"
                    }
                ]
            },
            "groupsEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "manager_id": {
                        "type": "int",
                        "format": "id"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE"
                        ]
                    }
                },
                "type": "object"
            },
            "groups": {
                "description": "Represents a group definition.",
                "allOf": [
                    {
                        "properties": {
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "id": {
                                "type": "string",
                                "format": "id"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/groupsEditable"
                    }
                ]
            },
            "groupMembersEditable": {
                "properties": {
                    "group_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "member_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "member_type": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "groupMembers": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/groupMembersEditable"
                    }
                ]
            },
            "createGroupMembers": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "group": {
                                "type": "object"
                            },
                            "member": {
                                "type": "object"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/groupMembersEditable"
                    }
                ]
            },
            "getGroupMembersById": {
                "allOf": [
                    {
                        "properties": {
                            "group_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "member_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "member_type": {
                                "type": "string"
                            },
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "availableGroupMembers": {
                "description": "Represents a group Members definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "description": {
                                "type": "string"
                            },
                            "name": {
                                "type": "string"
                            },
                            "status": {
                                "type": "string",
                                "enum": [
                                    "ACTIVE",
                                    "INACTIVE"
                                ]
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    }
                ]
            },
            "mediaEditable": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "model_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "model_type": {
                        "type": "string",
                        "format": "id"
                    },
                    "collection_name": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "file_name": {
                        "type": "string"
                    },
                    "mime_type": {
                        "type": "string"
                    },
                    "disk": {
                        "type": "string"
                    },
                    "size": {
                        "type": "integer"
                    },
                    "manipulations": {
                        "type": "object"
                    },
                    "custom_properties": {
                        "type": "object"
                    },
                    "responsive_images": {
                        "type": "object"
                    },
                    "order_column": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "media": {
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/mediaEditable"
                    }
                ]
            },
            "mediaExported": {
                "description": "Represents media files stored in the database",
                "properties": {
                    "url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "NotificationEditable": {
                "properties": {
                    "type": {
                        "type": "string"
                    },
                    "notifiable_type": {
                        "type": "string"
                    },
                    "notifiable_id": {
                        "type": "integer"
                    },
                    "data": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "processName": {
                        "type": "string"
                    },
                    "userName": {
                        "type": "string"
                    },
                    "request_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "Notification": {
                "description": "Represents a notification definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "read_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/NotificationEditable"
                    }
                ]
            },
            "ProcessEditable": {
                "properties": {
                    "process_category_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "name": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE",
                            "ARCHIVED"
                        ]
                    },
                    "pause_timer_start": {
                        "type": "integer"
                    },
                    "cancel_screen_id": {
                        "type": "integer"
                    },
                    "has_timer_start_events": {
                        "type": "boolean"
                    },
                    "request_detail_screen_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "is_valid": {
                        "type": "integer"
                    },
                    "package_key": {
                        "type": "string"
                    },
                    "start_events": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/ProcessStartEvents"
                        }
                    },
                    "warnings": {
                        "type": "string"
                    },
                    "self_service_tasks": {
                        "type": "object"
                    },
                    "signal_events": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "category": {},
                    "manager_id": {
                        "type": "integer",
                        "format": "id"
                    }
                },
                "type": "object"
            },
            "Process": {
                "allOf": [
                    {
                        "properties": {
                            "user_id": {
                                "type": "integer",
                                "format": "id"
                            },
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "deleted_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "notifications": {
                                "type": "object"
                            },
                            "task_notifications": {
                                "type": "object"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ProcessEditable"
                    }
                ]
            },
            "ProcessStartEvents": {
                "properties": {
                    "eventDefinitions": {
                        "type": "object"
                    },
                    "parallelMultiple": {
                        "type": "boolean"
                    },
                    "outgoing": {
                        "type": "object"
                    },
                    "incoming": {
                        "type": "object"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ProcessWithStartEvents": {
                "allOf": [
                    {
                        "properties": {
                            "events": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/ProcessStartEvents"
                                }
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/Process"
                    }
                ]
            },
            "ProcessImport": {
                "allOf": [
                    {
                        "properties": {
                            "status": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "assignable": {
                                "type": "array",
                                "items": {
                                    "type": "object"
                                }
                            },
                            "process": {}
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ProcessEditable"
                    }
                ]
            },
            "ProcessAssignments": {
                "description": "Represents a business process definition.",
                "properties": {
                    "assignable": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "cancel_request": {
                        "type": "object"
                    },
                    "edit_data": {
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "ProcessCategoryEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE"
                        ]
                    }
                },
                "type": "object"
            },
            "ProcessCategory": {
                "description": "Represents a business process category definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ProcessCategoryEditable"
                    }
                ]
            },
            "processPermissionsEditable": {
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "process_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "permission_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "assignable_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "assignable_type": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "processPermissions": {
                "description": "Represents a Process permission.",
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/processPermissionsEditable"
                    }
                ]
            },
            "processRequestEditable": {
                "properties": {
                    "user_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "callable_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "data": {
                        "type": "object"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "COMPLETED",
                            "ERROR",
                            "CANCELED"
                        ]
                    },
                    "name": {
                        "type": "string"
                    },
                    "process_id": {
                        "type": "integer"
                    },
                    "process": {
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "processRequest": {
                "description": "Represents an Eloquent model of a Request which is an instance of a Process.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "process_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "process_collaboration_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "participant_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "process_category_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "user": {},
                            "participants": {
                                "type": "array",
                                "items": {
                                    "$ref": "#/components/schemas/users"
                                }
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/processRequestEditable"
                    }
                ]
            },
            "processRequestTokenEditable": {
                "properties": {
                    "user_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "status": {
                        "type": "string"
                    },
                    "due_at": {
                        "type": "date-time"
                    },
                    "initiated_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "riskchanges_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "subprocess_start_event_id": {
                        "type": "string"
                    },
                    "data": {
                        "type": "object"
                    }
                },
                "type": "object"
            },
            "processRequestToken": {
                "description": "ProcessRequestToken is used to store the state of a token of the\nNayra engine",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "process_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "process_request_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "element_id": {
                                "type": "string",
                                "format": "id"
                            },
                            "element_type": {
                                "type": "string",
                                "format": "id"
                            },
                            "element_index": {
                                "type": "string"
                            },
                            "element_name": {
                                "type": "string"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "initiated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "advanceStatus": {
                                "type": "string"
                            },
                            "due_notified": {
                                "type": "integer"
                            },
                            "user": {},
                            "process": {},
                            "process_request": {}
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/processRequestTokenEditable"
                    }
                ]
            },
            "taskAssignmentsEditable": {
                "properties": {
                    "process_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "process_task_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "assignment_id": {
                        "type": "integer",
                        "format": "id"
                    },
                    "assignment_type": {
                        "type": "string",
                        "enum": [
                            "ProcessMaker\\Models\\User",
                            "ProcessMaker\\Models\\Group"
                        ]
                    }
                },
                "type": "object"
            },
            "taskAssignments": {
                "description": "Represents a business process task assignment definition.",
                "type": "object",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        }
                    },
                    {
                        "$ref": "#/components/schemas/taskAssignmentsEditable"
                    }
                ]
            },
            "screensEditable": {
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "config": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "computed": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "watchers": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "custom_css": {
                        "type": "string"
                    },
                    "screen_category_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "screens": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/screensEditable"
                    }
                ]
            },
            "screenExported": {
                "description": "Class Screen",
                "properties": {
                    "url": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ScreenCategoryEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE"
                        ]
                    }
                },
                "type": "object"
            },
            "ScreenCategory": {
                "description": "Represents a business screen category definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ScreenCategoryEditable"
                    }
                ]
            },
            "ScreenTypeEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ScreenType": {
                "description": "Represents a business screen Type definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ScreenTypeEditable"
                    }
                ]
            },
            "scriptsEditable": {
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string"
                    },
                    "code": {
                        "type": "string"
                    },
                    "timeout": {
                        "type": "integer"
                    },
                    "run_as_user_id": {
                        "type": "integer"
                    },
                    "key": {
                        "type": "string"
                    },
                    "script_category_id": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "scripts": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/scriptsEditable"
                    }
                ]
            },
            "scriptsPreview": {
                "description": "Represents an Eloquent model of a Script",
                "properties": {
                    "status": {
                        "type": "string"
                    },
                    "key": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "ScriptCategoryEditable": {
                "properties": {
                    "name": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE"
                        ]
                    }
                },
                "type": "object"
            },
            "ScriptCategory": {
                "description": "Represents a business script category definition.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/ScriptCategoryEditable"
                    }
                ]
            },
            "scriptExecutorsEditable": {
                "properties": {
                    "title": {
                        "type": "string"
                    },
                    "description": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string"
                    },
                    "config": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "scriptExecutors": {
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "integer",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/scriptExecutorsEditable"
                    }
                ]
            },
            "availableLanguages": {
                "description": "Represents an Eloquent model of a Script Executor",
                "properties": {
                    "text": {
                        "type": "string"
                    },
                    "value": {
                        "type": "string"
                    },
                    "initDockerFile": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "securityLog": {
                "description": "Class SecurityLog",
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "event": {
                        "type": "string"
                    },
                    "ip": {
                        "type": "string"
                    },
                    "meta": {
                        "type": "array",
                        "items": {
                            "properties": {
                                "os": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "name": {
                                                "type": "string"
                                            },
                                            "version": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "browser": {
                                    "type": "array",
                                    "items": {
                                        "properties": {
                                            "name": {
                                                "type": "string"
                                            },
                                            "version": {
                                                "type": "string"
                                            }
                                        },
                                        "type": "object"
                                    }
                                },
                                "user_agent": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    },
                    "user_id": {
                        "type": "integer"
                    },
                    "occured_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "settingsEditable": {
                "properties": {
                    "key": {
                        "type": "string"
                    },
                    "config": {
                        "type": "array",
                        "items": {
                            "type": "object"
                        }
                    },
                    "name": {
                        "type": "string"
                    },
                    "helper": {
                        "type": "string"
                    },
                    "group": {
                        "type": "string"
                    },
                    "format": {
                        "type": "string"
                    },
                    "hidden": {
                        "type": "boolean"
                    },
                    "readonly": {
                        "type": "boolean"
                    },
                    "variables": {
                        "type": "string"
                    },
                    "sansSerifFont": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "settings": {
                "description": "Class Settings",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "string",
                                "format": "id"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/settingsEditable"
                    }
                ]
            },
            "TokenClient": {
                "properties": {
                    "id": {
                        "type": "integer"
                    },
                    "user_id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "provider": {
                        "type": "string"
                    },
                    "redirect": {
                        "type": "string"
                    },
                    "personal_access_client": {
                        "type": "boolean"
                    },
                    "password_client": {
                        "type": "boolean"
                    },
                    "revoked": {
                        "type": "boolean"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            },
            "usersEditable": {
                "properties": {
                    "email": {
                        "type": "string",
                        "format": "email"
                    },
                    "firstname": {
                        "type": "string"
                    },
                    "lastname": {
                        "type": "string"
                    },
                    "username": {
                        "type": "string"
                    },
                    "password": {
                        "type": "string"
                    },
                    "address": {
                        "type": "string"
                    },
                    "city": {
                        "type": "string"
                    },
                    "state": {
                        "type": "string"
                    },
                    "postal": {
                        "type": "string"
                    },
                    "country": {
                        "type": "string"
                    },
                    "phone": {
                        "type": "string"
                    },
                    "fax": {
                        "type": "string"
                    },
                    "cell": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "timezone": {
                        "type": "string"
                    },
                    "datetime_format": {
                        "type": "string"
                    },
                    "language": {
                        "type": "string"
                    },
                    "is_administrator": {
                        "type": "boolean"
                    },
                    "expires_at": {
                        "type": "string"
                    },
                    "loggedin_at": {
                        "type": "string"
                    },
                    "remember_token": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "enum": [
                            "ACTIVE",
                            "INACTIVE",
                            "SCHEDULED",
                            "OUT_OF_OFFICE"
                        ]
                    },
                    "fullname": {
                        "type": "string"
                    },
                    "avatar": {
                        "type": "string"
                    },
                    "media": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/media"
                        }
                    },
                    "birthdate": {
                        "type": "string",
                        "format": "date"
                    },
                    "delegation_user_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "manager_id": {
                        "type": "string",
                        "format": "id"
                    },
                    "meta": {
                        "type": "object",
                        "additionalProperties": true
                    },
                    "force_change_password": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "users": {
                "description": "The attributes that are mass assignable.",
                "allOf": [
                    {
                        "properties": {
                            "id": {
                                "type": "integer"
                            },
                            "created_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "updated_at": {
                                "type": "string",
                                "format": "date-time"
                            },
                            "deleted_at": {
                                "type": "string",
                                "format": "date-time"
                            }
                        },
                        "type": "object"
                    },
                    {
                        "$ref": "#/components/schemas/usersEditable"
                    }
                ]
            },
            "UserToken": {
                "properties": {
                    "id": {
                        "type": "string"
                    },
                    "user_id": {
                        "type": "integer"
                    },
                    "client_id": {
                        "type": "integer"
                    },
                    "name": {
                        "type": "string"
                    },
                    "scopes": {
                        "type": "object"
                    },
                    "revoked": {
                        "type": "boolean"
                    },
                    "client": {
                        "$ref": "#/components/schemas/TokenClient"
                    },
                    "created_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "updated_at": {
                        "type": "string",
                        "format": "date-time"
                    },
                    "expires_at": {
                        "type": "string",
                        "format": "date-time"
                    }
                },
                "type": "object"
            }
        },
        "responses": {
            "404": {
                "description": "Not Found",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "error": {
                                    "type": "string"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            },
            "422": {
                "description": "Unprocessable Entity",
                "content": {
                    "application/json": {
                        "schema": {
                            "properties": {
                                "message": {
                                    "type": "string"
                                },
                                "errors": {
                                    "type": "object"
                                }
                            },
                            "type": "object"
                        }
                    }
                }
            }
        },
        "parameters": {
            "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"
                }
            },
            "status": {
                "name": "status",
                "in": "query",
                "description": "ACTIVE or INACTIVE",
                "schema": {
                    "type": "string",
                    "enum": [
                        "ACTIVE",
                        "INACTIVE"
                    ]
                }
            },
            "order_direction": {
                "name": "order_direction",
                "in": "query",
                "schema": {
                    "type": "string",
                    "default": "asc",
                    "enum": [
                        "asc",
                        "desc"
                    ]
                }
            },
            "per_page": {
                "name": "per_page",
                "in": "query",
                "schema": {
                    "type": "integer",
                    "default": "10"
                }
            },
            "include": {
                "name": "include",
                "in": "query",
                "description": "Include data from related models in payload. Comma separated list.",
                "schema": {
                    "type": "string",
                    "default": ""
                }
            },
            "member_id": {
                "name": "member_id",
                "in": "query",
                "schema": {
                    "type": "integer"
                }
            },
            "commentable_id": {
                "name": "commentable_id",
                "in": "query",
                "schema": {
                    "type": "integer"
                }
            },
            "commentable_type": {
                "name": "commentable_type",
                "in": "query",
                "schema": {
                    "type": "string",
                    "default": ""
                }
            }
        },
        "securitySchemes": {
            "pm_api_auth_code": {
                "type": "oauth2",
                "flows": {
                    "authorizationCode": {
                        "authorizationUrl": "/oauth/authorize",
                        "tokenUrl": "/oauth/token",
                        "scopes": {
                            "*": ""
                        }
                    }
                }
            },
            "pm_api_bearer": {
                "type": "http",
                "scheme": "bearer",
                "bearerFormat": "JWT"
            },
            "pm_api_key": {
                "type": "apiKey",
                "in": "header",
                "name": "Authorization"
            }
        }
    },
    "security": [
        {
            "pm_api_auth_code": []
        },
        {
            "pm_api_bearer": []
        },
        {
            "pm_api_key": []
        }
    ]
}