> For the complete documentation index, see [llms.txt](https://docs.oneweb.tech/oneweb/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.oneweb.tech/oneweb/api-guide/microflow-runtime-api/list-all-methods-of-rest-api-and-explain-the-api-functionality.md).

# List all methods of REST API and explain the API functionality

#### Execute Flow&#x20;

This API is used to start the microflow. User invokes this function to execute a microflow&#x20;

```
URL: http://[SERVER]:[PORT]/MicroflowRest/DoAction 
HTTP Method: POST 
HTTP Request Header: Content-Type: application/json 
HTTP Request Body: { 
"flowName":"[String : The microflow name]", 
"appName":"[String: The application name]", 
"uniqueId":"[String: The unique flow id]", 
"snapVersion":"[String: snap version e.g."v.0.2.0"]", 
"object":{ // pass the input BO of the flow 
"RequestBO":  
{ 
"requestData":"[String: data]" 
} 
} 
} 
HTTP Response Body: { 
"exception":"[String: error message if not success]", 
"responseStatus":"SUCCESS", 
"responseObjectsMap":{ 
"ResponseBO":  
{ 
"responseData":31.184504 
} 
}, 
"flowName":"ExchangeRate", 
"flowId":"", 
"tId":"" 
} 
```

#### Refresh Cache All&#x20;

This API is used to refresh all the cached Business Objects. Users can use this service when the BO structure has changed to update the new BO on runtime.&#x20;

```
URL: http://[SERVER]:[PORT]/MicroflowRest/refreshCache 
HTTP Method: GET 
HTTP Request Header: n/a 
HTTP Request Body: n/a 
HTTP Response Body: text : RefreshCache Success 
```

#### Execute class action for specific flow&#x20;

When user wants to execute some action for only a specific flow.&#x20;

```
URL: http://[SERVER]:[PORT]/MicroflowRest/classAction 
HTTP Method: POST 
HTTP Request Header: Content-Type : application/json 
HTTP Request Body: { 
"fileNames":[{uniqueID.appName.processName.snapVersion.jar}], // list of file names in the specific format 
"event":[String : action to be executed] - options for event field are i) refresh - to refresh cache, file - to retrieve the jar file for the flow, generate - to generate the BO class and load to runtime for the first time. 
} 
HTTP Response Body: { 
    "businessObjectSize": 0, 
    "exception": "", 
    "fieldDescriptersMapSize": 1, 
    "process": [], 
    "businessObjectDefSize": 0, 
    "files": [],// list of files 
    "cacheClassSize": 0, 
    "definitionSize": 0, 
    "responseStatus": "SUCCESS", 
    "fieldDescripterSize": 0, 
    "environmentSize": 0 
} 
```

&#x20;
