Currently there is no support for programming/blowing the eFuse bits from firmware. You can only read the eFuse bits from firmware (using the Cy_EFUSE_GetEfuseBit() API). The reason being, programming eFuse requires 2.5 V on the VDDIO0 rail and it might be difficult for applications to support that voltage. In addition, since it is an irreversible process, we recommend programming the eFuse during mass production in a controlled environment. Hence, eFuse bits should be blown along with hex file while programming the device. PSoC Programmer will take care of blowing the appropriate eFuse bits with the info present in the hex file.
Refer to section 2.4 in the PSoC 6 Programming Specifications | Cypress Semiconductor for details.
In order for the hex file to map/contain the eFuse bits properly, place the eFuse data in the ".cy_efuse" area defined in the linker scripts.
Let me know if this helps.
Meenakshi Sundaram R