### Overview Http API provides a RESTful-like interactive interface, and both requests and responses data in JSON format. Compared with Telnet/WebConsole's output unstructured text data, Http API can provide structured data and support more complex interactive functions, such as a series of diagnostic operations in specific application scenarios. #### Access address The Http API address is: `http://ip:port/api`, the request parameters must be submitted using `POST`. Such as POST `http://127.0.0.1:8563/api`. Note: The telnet port `3658` has compatibility issues with the Chrome browser. It is recommended to use the http port `8563` to access the http api. #### Request data format ```json { "action": "exec", "requestId": "req112", "sessionId": "94766d3c-8b39-42d3-8596-98aee3ccbefb", "consumerId": "955dbd1325334a84972b0f3ac19de4f7_2", "command": "version", "execTimeout": "10000" } ``` Request data format description: * `action` : The requested action/behavior, please refer to "Request Actions" for optional values. * `requestId` : Optional request ID, generated by the client. * `sessionId` : Arthas session ID, one-time command does not need to set the session ID. * `consumerId` : Arthas consumer ID, used for multi-person sharing sessions. * `command` : Arthas command line * `execTimeout` : Timeout for executing commands (ms), default value is 30000. Note: Different actions use different parameters. Set the parameters according to the specific action. #### Request Actions Currently supported request actions are as follows: * `exec` : The command is executed synchronously, and the command results is returned after the command execution end or interrupted. * `async_exec` : The command is executed asynchronously, and the scheduling result of the command is returned immediately. The command execution result is obtained through `pull_results` action. * `interrupt_job` : To interrupt the foreground command of the session, similar to the function of Telnet `Ctrl + c`. * `pull_results` : Get the result of the command executed asynchronously, and execute it repeatedly in http long-polling mode. * `init_session` : Create new session. * `join_session` : Join the session, used to support multiple people sharing the same Arthas session. * `close_session` : Close the session. #### Response status The state attribute in the response indicates the request processing state, and its value is as follows: * `SCHEDULED`: When the command is executed asynchronously, it means that the job has been created, and may not be executed yet or is being executed; * `SUCCEEDED`: The request is processed successfully (completed status); * `FAILED`: Request processing failed (completed status), usually accompanied by a message explaining the reason; * `REFUSED`: The request is rejected (completed status), usually accompanied by a message explaining the reason;