[Config Support]: api/config/set not taking effect #22005
-
Describe the problem you are havingAPI interactions seem like they're working fine, in general. I get 200s and meaningful responses. However, when I use /api/config/set, it returns a 200 and no complaints, yet the config doesn't seem to be changing at all. Although I've tried it both ways, The Google (not frigate's docs AFAIK) says to provide only the attributes that are changing. I've done it that way and with the full config; no effect either way. What I am trying to change is setting a camera['detect]['enabled'] to false for certain cameras. I have also tried setting ['enabled'] to false for those cameras, just to get more conspicuous feedback. When I get-config again, it shows those settings to still be true. The response gives a generic mention of restart required. I've tried that, but left with doubt about whether the config.yml is reinstating the defaults and overriding my in-memory changes. While I may eventually learn about MQTT and HA, I want to get this API working first. Any suggestions? Version0.16.4 Frigate config filecameras:
Back_Door:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.202/stream2
roles:
- detect
- path: rtsp://username:password@10.0.0.202/stream1
roles:
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
record:
enabled: true
motion:
mask:
- 1,0,1,1,0.744,1,0.785,0
- 0.369,0,0.372,0.419,0.779,0.411,0.742,1,0,1,0,0
objects: {}
notifications:
enabled: false
# cooldown: 30 # wait 30 secs between notifications
Hallway:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.203/stream2
roles:
- detect
- path: rtsp://username:password@10.0.0.203/stream1
roles:
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
record:
enabled: true
motion:
mask: 0.849,0,1,0,1,1,0.301,1,0.356,0.679,0.716,0.636,0.896,0.434
objects: {}
notifications:
enabled: true
cooldown: 30 # wait 30 secs between notifications
Front_Lawn:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.204/stream2
roles:
- detect
- path: rtsp://username:password@10.0.0.204/stream1
roles:
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
record:
enabled: true
motion:
mask: 0,0,1,0,1,0.321,0.68,0.27,0.291,0.344,0,0.418
objects: {}
notifications:
enabled: false
Garage:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.201/stream2
roles:
- detect
- path: rtsp://username:password@10.0.0.201/stream1
roles:
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
record:
enabled: true
# mode: objects
motion:
mask:
- 0.238,0,0.586,0,1,0,1,0.336,1,1,0.246,1
objects:
mask:
- 0,0,0.12,0,0.235,0,0.242,0.519,0.25,1,0,1
notifications:
enabled: true
Backyard:
ffmpeg:
inputs:
- path:
rtsp://username:password@10.0.0.205:554/cam/realmonitor?channel=1&subtype=0
roles:
- detect
- record
detect:
enabled: true
width: 1280
height: 720
fps: 5
record:
enabled: true
# mode: objects
motion:
mask: 0,0.402,0,0,1,0,1,1,0.694,1,0.716,0.322,0.326,0.348
objects: {}
notifications:
enabled: true
AMCrest_Driveway:
ffmpeg:
inputs:
- path:
rtsp://username:password@10.0.0.206/cam/realmonitor?channel=1&subtype=00&authbasic=YWRtaYtaW4=
roles:
- detect
- path:
rtsp://username:password@10.0.0.206/cam/realmonitor?channel=1&subtype=00&authbasic=YWRtYWF3NjY=
roles:
- record
detect:
enabled: true
width: 2048
height: 1536
fps: 2
record:
enabled: true
# mode: objects
notifications:
enabled: false
cooldown: 30
ICAMI_New_Garage:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.207:554/11 # 1920x1080.
roles:
- record
- path: rtsp://username:password@10.0.0.207:554/12 # 640x352.
roles:
- detect
detect:
enabled: true
width: 1920
height: 1080
fps: 5
record:
enabled: true
# mode: objects
notifications:
enabled: false
# cooldown: 30 # wait 30 secs between notifications
ICSee_SW_Corner:
ffmpeg:
inputs:
- path: rtsp://username:password@10.0.0.208:554/stream2
roles:
- detect
- path: rtsp://username:password@10.0.0.208:554/stream1
# rtsp://username:password@10.0.0.208:554/
# both 2304x1296
roles:
- record
detect:
enabled: true
width: 2304
height: 1296
fps: 5
record:
enabled: true
notifications:
enabled: false
# cooldown: 30 # wait 30 secs between notifications
camera_groups:
ManCave:
order: 0
icon: LuCarFront
cameras:
- ICAMI_New_Garage
- ICSee_SW_Corner
- AMCrest_Driveway
- birdseye
Back_Door:
order: 2
icon: LuDoorClosed
cameras:
- Back_Door
- Hallway
Basement:
order: 2
icon: LuDoorClosed
cameras:
- Back_Door
- Hallway
Tapo:
order: 3
icon: LuCamera
cameras:
- Garage
- Front_Lawn
- Back_Door
- Hallway
- birdseye
database:
# The path to store the SQLite DB (default: shown below)
path: /media/frigate/frigate.db
detectors:
coral-usb:
type: edgetpu
device: usb
coral-pci0:
type: edgetpu
device: pci:0
# coral-pci1:
# type: edgetpu
# device: pci:1
objects:
track:
- person
- dog
- cat
- car
- bear
- bus
snapshots:
enabled: true
timestamp: true
bounding_box: true
retain:
default: 30
mqtt:
host: 192.168.1.200
ffmpeg:
#hwaccel_args:
# - -hwaccel
# - vaapi
# - -hwaccel_device
# - /dev/dri/renderD128
# - -hwaccel_output_format
# - yuv420p
output_args:
record: -f segment -segment_time 10 -segment_format mp4 -reset_timestamps 1
-strftime 1 -c:v copy -c:a aac
record:
enabled: true
sync_recordings: true
detections:
pre_capture: 5
post_capture: 15
retain:
days: 30
mode: motion
# alerts:
# retain:
# days: 30
# mode: motion
# objects:
# - person
# - cat
# - dog
# - car
# - truck
birdseye:
# Optional: Enable birdseye view (default: shown below)
enabled: true
# Optional: Width of the output resolution (default: shown below)
width: 1920
# Optional: Height of the output resolution (default: shown below)
height: 1080
# Optional: Encoding quality of the mpeg1 feed (default: shown below)
# 1 is the highest quality, and 31 is the lowest. Lower quality feeds utilize less CPU resources.
quality: 8
# Optional: Mode of the view. Available options are: objects, motion, and continuous
# objects - cameras are included if they have had a tracked object within the last 30 seconds
# motion - cameras are included if motion was detected in the last 30 seconds
# continuous - all cameras are included always
mode: continuous
detect:
enabled: true
notifications:
enabled: false
email: myemail@mac.com
cooldown: 300 # wait 300 seconds before sending another
version: 0.16-3 # despite docker pulling in 0.16.4
semantic_search:
enabled: true
model_size: small
reindex: trueRelevant Frigate log output2026-02-14 15:48:08 POST "POST /api/login HTTP/1.1" 200 0 "-" "-" "-"
info
2026-02-14 15:48:08 GET "GET /api/config HTTP/1.1" 200 51780 "-" "-" "-"
info
2026-02-14 15:48:08 PUT "PUT /api/config/set HTTP/1.1" 200 74 "-" "-" "-"
info
2026-02-14 15:48:08 GET "GET /api/config HTTP/1.1" 200 51780 "-" "-" "-"
infoRelevant go2rtc log outputN/AFrigate statsNo response Operating systemDebian Install methodDocker Compose docker-compose file or Docker CLI commandN/AObject DetectorCoral Screenshots of the Frigate UI's System metrics pagesNo response Any other information that may be helpfulNo response |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 5 replies
-
|
We can't help without seeing the exact API calls you are making |
Beta Was this translation helpful? Give feedback.
Sorry, yes - it should be PUT, not POST.
In 0.16, the config/set endpoint doesn't really do anything with the particular settings you're trying to change. The endpoint and backend logic was expanded in 0.17 and will be even more so in 0.18.
MQTT has always been the recommended way to temporarily change Frigate's settings like detection, recording, etc.