If you are using file_sd_configs to read /etc/prometheus/federate_sd.json (which is what I guess you're doing), then changes will be automatically picked up. There's no need to hit the reload endpoint for this (*).
Of course, the new file has to be valid JSON (or YAML); if it's not, then it will be ignored and prometheus will continue using the old contents. You can check validity using:
/path/to/promtool check config /path/to/prometheus.yml
/path/to/promtool check service-discovery /path/to/prometheus.yml job_name
(*) You only need to hit /-/reload if you've changed prometheus.yml or any rules files. Note that if you'd omitted --web.enable-lifecycle then you'd get a 403 Forbidden response with text "Lifecycle API is not enabled."