update_profile
Update an existing trading profile's metadata (risk, complexity, or other fields) by supplying its profile ID and a patch object. Avoid renaming the active profile; numeric values are required for risk and complexity.
Instructions
Update an existing profile's metadata (never the active/selected profile's name).
Maps to POST /profiles_management/update with JSON body
{"id": profile_id, **patch} (confirmed against source
models/profiles.py::update_profile(), which reads exactly this shape).
Spec corrections, both verified against source and reproduced live:
patch["risk"]/patch["complexity"]must be an int (or int-parseable string) matching OctoBot's enum ordinals -- not the display stringslist_profilesreturns ("Low","Difficult", ...). Source (octobot_commons.enums):ProfileRiskisLOW=1, MODERATE=2, HIGH=3;ProfileComplexityisEASY=1, MEDIUM=2, DIFFICULT=3. Sending a display string (confirmed live) raises an uncaughtValueErrorinside OctoBot, surfaced by this tool as aProfileUpdateRejectedErrorwrapping"invalid literal for int() with base 10: 'Moderate'", HTTP 500 -- not the cleanUPDATE_REJECTED400 path.patch["config"]is accepted by this tool's input schema for forward-compatibility with the documented spec shape, but is currently silently ignored by OctoBot's deployed route: the controller only ever callsmodels.update_profile(id, data)-- never passing the thirdjson_profile_contentparameter that is the only thingupdate_profile()actually assigns toprofile.config. There is no way for this tool to makeconfigtake effect against the current OctoBot version.Renaming the currently-selected profile is rejected by OctoBot itself (
"Can't rename the active profile", confirmed live), surfaced here asProfileUpdateRejectedErrorwith that exact message.
Output: {"profile_id": str, "updated_fields": object} (updated_fields
echoes the patch this tool sent -- OctoBot's own success response is
the same data echoed back, so there is nothing more to report).
Not confirm-gated (ADR-0003): does not destroy anything or touch credentials/live trading.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| patch | Yes | ||
| profile_id | Yes |