This ensures the security of your API interactions by validating the sender and protecting against unauthorized requests.
Keep in mind, the signature is not case sensitive.
POST /public/api/ver1/users/change_mode
Here is a step-by-step example of how to send a valid signed payload from the Linux command line using echo
, openssl
, and curl
.
Examples
Example 1, as a query string
HMAC SHA256 signature:
Copy [linux]$ echo -n "/public/api/ver1/users/change_mode?mode=paper" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= bca8d8c10acfbe8e76c5335d3efbe0a550487170a8bb7aaea0a13efabab55316
curl command:
Copy (HMAC SHA256)
[linux]$ curl -H "Apikey: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -H "Signature: bca8d8c10acfbe8e76c5335d3efbe0a550487170a8bb7aaea0a13efabab55316" -X POST 'https://api.3commas.io/public/api/ver1/users/change_mode?mode=paper'
Example 2, as a request body
HMAC SHA256 signature:
Copy [linux]$ echo -n "/public/api/ver1/users/change_mode?mode=paper" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= bca8d8c10acfbe8e76c5335d3efbe0a550487170a8bb7aaea0a13efabab55316
curl command:
Copy (HMAC SHA256)
[linux]$ curl -H "Apikey: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -H "Signature: bca8d8c10acfbe8e76c5335d3efbe0a550487170a8bb7aaea0a13efabab55316" -X POST 'https://api.3commas.io/public/api/ver1/users/change_mode' -d 'mode=paper'
Example 3, as a raw json
requestBody: '{"mode": "paper"}'
HMAC SHA256 signature:
Copy [linux]$ echo -n "/public/api/ver1/users/change_mode?{\"mode\": \"paper\"}" | openssl dgst -sha256 -hmac "NhqPtmdSJYdKjVHjA7PZj4Mge3R5YNiP1e3UZjInClVN65XAbvqqM6A7H5fATj0j"
(stdin)= 0475b407ba6f2388d213134e478b330f74073388a232737837f79018694ae373
curl command:
Copy (HMAC SHA256)
[linux]$ curl -H "Apikey: vmPUZE6mv9SD5VNHk4HlWFsOr6aKE2zvsw0MuIgwCIPy6utIco14y7Ju91duEh8A" -H "Signature: 0475b407ba6f2388d213134e478b330f74073388a232737837f79018694ae373" -H "Content-Type: application/json" -X POST 'https://api.3commas.io/public/api/ver1/users/change_mode' --data-raw '{"mode": "paper"}'
GET /public/api/ver1/bots/{bot_id}/show
Here is a step-by-step example of how to test your endpoint through postman.
Once Postman works with the values, you can implement it in code.
Set up GET url:With include_events: https://api.3commas.io/public/api/ver1/bots/EnterBotIdHere/show?include_events=trueBy using include_events in the query string, in Postman, your Params field will be automatically filled inCalculate your Signature:Use a HMAC SHA256 generator tool.Set up Headers:These 2 key/value pairs can be entered in Postman under Headers (which is located under the GET url field)Receive JSON object:If you have followed these steps you should now receive a status 200 OK with your JSON data.