PROCESIO API Documentation
9min
our rest apis allow you to integrate with procesio from any other application we expose 2 apis proxy api and web api use the proxy api for connecting to the authentication service, and the web api to perform operations on your application, such as running a process, or getting a data type configuration proxy api use the proxy api to reach the authentication service the authentication service exposes methods such as authenticate, refreshtoken, password change, and password update in order to be able to perform any operation on the procesio platform through the web api, you need to first get an access token from the proxy api in order to obtain an access token you can use the post /api/authentication method the post /api/authentication method requires the following parameters realm your tenant name (all users are added to "procesio01") grant type password username your user name password your user’s password client id procesio ui client secret (can be left empty) if the request is successful, you will receive an access token in the response which you will be able to use to access the web api services here’s how the request would look like testing through swagger and if successful, the response in swagger will look like this for a full list of methods, check proxy api web api use the web api to interact with the procesio platform to be able to send requests to the web api, you need to be authorized with the access token received from the proxy api (see the previous chapter regarding the proxy api) the authorize button can be found in the upper right corner bearer authentication api key authentication how to run a process from an external application? prerequisites to run the process using a api key we will require generate a api key in procesio procesio api endpoints can be found here additionally we also provide swagger for our web api endpoints which can be tested here postman for sending the request postman configure the request 1\ select post method mention the base url and the endpoint base url https //webapi procesio app endpoint /api/projects/e6bb2d64 2f96 4e43 a84b b25a08c0764d/run (includes the process id) 2\ in postman from headers include headers value key api key name value api key value workspaceid workspace id 3\ in postman from body, raw, include { "payload" {}, "connectionid" null } in the payload add the input variables for the process as displayed in the screenshot below 4\ select json 5\ from postman hit the send button in order to trigger the process for which you configured the request once authorized to the webapi, you have access to the following services service method type method name description actions get /api/actions/folders/{id} returns the full path to the process actions delete /api/actions/folders/{id} deletes the folder containing the process with all its content actions get /api/actions/folders returns directory tree of the workspace actions post /api/actions/folders add a new folder in your workspace actions patch /api/actions/folders/rename renames node inside your workspace actions get /api/actions/templates/{id} returns information about the template actions delete /api/actions/templates/{id} deletes the specified template actions post /api/actions/templates creates a new template in your workspace actions get /api/actions/{id} returns information about the action actions delete /api/actions/{id} deletes the specified action actions get /api/actions returns list of actions actions post /api/actions add a new action in your workspace actions get /api/actions/category/{category} returns information about the category actions post /api/actions/test creates a new action category actions get /api/actions/test/{id} returns information about the action in the specified category actions get /api/actions/node returns information about the node content apikey get /api/apikey returns the api key apikey post /api/apikey use api key on workspace apikey delete /api/apikey delete api key apikey delete /api/apikey/{id} delete project credentials get /api/credentials/types returns the credential configuration types (rest api, email server) with their associated fields (url, authentication type, ) credentials post /api/credentials/types creates a new credential configuration type credentials get /api/credentials/types/{id} returns the credential fields necessary for a given type credentials post /api/credentials/test tests if a credential configuration is valid credentials get /api/credentials returns a list of existing credential configurations credentials post /api/credentials creates a new credential configuration credentials put /api/credentials modifies an existing credential configuration credentials get /api/credentials/list/{templateid} returns information about the template credentials get /api/credentials/{id} returns the credential configuration details for a configuration id credentials delete /api/credentials/{id} deletes a credential configuration based on a configuration id credentials get /api/credentials/verbs/{templateid} returns information about the template credentials post /api/credentials/upload/{credentialsid} creates a new credential credentials post /api/credentials/upload/test creates a new category of credentials datatypes post /api/datatypes creates a new data type datatypes put /api/datatypes modifies an existing data type datatypes get /api/datatypes returns a list of available data types in the tenant datatypes get /api/datatypes/{id} returns the attributes of a data type for a data type id datatypes delete /api/datatypes/{id} deletes a data type based on the data type id datatypes get /api/datatypes/{value} returns the properties of a data type based on the data type name datatypes get /api/datatypes/primary returns a list of primitive data types available on the platform datatypes get /api/datatypes/primary/count returns the number of primitive data types available on the platform file post /api/file/upload/flow upload flow file post /api/file/upload/testaction upload action file get /api/file/download download file file post /api/file/upload/schedule upload flow projects post /api/projects create a process projects put /api/projects modify a process projects get /api/projects returns a list of processes projects post /api/projects/validate validates a process projects delete /api/projects/{id} deletes a process based on the id projects get /api/projects/{id} returns the process configurations based on a process id projects get /api/projects/{id}/instances/publish copies a process and creates an instance which is ready to be launched after publishing the process, use the launch method to execute the instance using the id returned by this method alternatively use the run method to execute a process projects get /api/projects/{id}/instances returns a list of process instances for a given process id projects get /api/projects/instances/{id}/status returns the status of a process instance projects get /api/projects/instances/{id}/launch executes a process instance by instance id note that the process instance is created with the publish method projects post /api/projects/{id}/run trigger a process using the process id projects get /api/projects/{id}/payload returns the payload of specified process projects get /api/projects/{id}/used returns the used resources by the process projects patch /api/projects/{id}/toggle activation change the state of the project resources get /api/resources/used returns the list of existing resources on the account resources get /api/resources/analytics/processes returns the analytics for all processes resources get /api/resources/analytics/processes/{id}/details returns info on the process resources get /api/resources/analytics/instances/{id}/details returns the analytics of specific instance resources get /api/resources/analytics/users returns the user/account analytics information schedules get /api/schedules returns a list of schedules schedules post /api/schedules create a schedule schedules put /api/schedules modify a schedule schedules get /api/schedules/{scheduleid} returns the schedule configurations based on a schedule id schedules delete /api/schedules/{scheduleid} deletes a process based on the id schedules post /api/schedules/{scheduleid}/duplicate creates a copy of a schedule based on the id schedules patch /api/schedules/{scheduleid}/status returns the schedule status based on the id status get /api/status returns the platform status version get /gui/version version post /gui/version