An apparatus comprising a processor, a memory, and communication circuitry, the apparatus being connected to a network via its communication circuitry, the apparatus further comprising computer-executable instructions stored in the memory of the apparatus which, when executed by the processor of the apparatus, cause the apparatus to perform operations comprising: receiving, from a second apparatus, at least one first request to enroll one or more third apparatuses with a service layer associated with the second apparatus, the service layer supporting service capabilities through a set of Application Programming Interfaces, APIs, wherein the at least one first request comprises user consent information specifying information associated with the one or more third apparatuses that the apparatus is allowed to share with a fourth apparatus; determining, based on the user consent information provided in the at least one first request, a consent of a user of the one or more third apparatuses to share allowed information with the fourth apparatus associated with a manufacturer of the one or more third apparatuses; sending, to the fourth apparatus and based on the determined consent, a second request for the fourth apparatus to verify authenticity of the one or more third apparatuses and to generate a customized firmware or software for the one or more third apparatuses, the customized firmware or software enabling the one or more third apparatuses to support one or more service layer features of the service layer associated with the second apparatus; sending, as instructed by the fourth apparatus, to the one or more third apparatuses, a third request to configure the one or more third apparatuses with the generated customized firmware or software to make sure the devices are authenticated; receiving, from the fourth apparatus, a first response indicating that the one or more third apparatuses are authentic; and sending, to the second apparatus, a response indicating whether the one or more third apparatuses have been enrolled with the service layer. receiving, from a second apparatus, at least one first request to enroll one or more third apparatuses with a service layer associated with the second apparatus, the service layer supporting service capabilities through a set of Application Programming Interfaces, APIs, wherein the at least one first request comprises user consent information specifying information associated with the one or more third apparatuses that the apparatus is allowed to share with a fourth apparatus; determining, based on the user consent information provided in the at least one first request, a consent of a user of the one or more third apparatuses to share allowed information with the fourth apparatus associated with a manufacturer of the one or more third apparatuses; sending, to the fourth apparatus and based on the determined consent, a second request for the fourth apparatus to verify authenticity of the one or more third apparatuses and to generate a customized firmware or software for the one or more third apparatuses, the customized firmware or software enabling the one or more third apparatuses to support one or more service layer features of the service layer associated with the second apparatus; sending, as instructed by the fourth apparatus, to the one or more third apparatuses, a third request to configure the one or more third apparatuses with the generated customized firmware or software to make sure the devices are authenticated; receiving, from the fourth apparatus, a first response indicating that the one or more third apparatuses are authentic; and sending, to the second apparatus, a response indicating whether the one or more third apparatuses have been enrolled with the service layer.