# 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;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.oneweb.tech/oneweb/api-guide/microflow-runtime-api/list-all-methods-of-rest-api-and-explain-the-api-functionality.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
