An apparatus comprising a processor and a memory, 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 implement a first service layer entity (1102, 1232, 2904) of a distributed service layer transaction "DSLT" service of a communications network, the DSLT service providing a RESTful Application Programming Interface "API", and to cause the first service layer entity to: receive from an application (1002, 1230, 2908, 20) executing on the communications network, a request for a distributed service layer transaction, the request specifying a command to be atomically executed on a set of targeted DSLT API resources, wherein the targeted DSLT API resources are hosted by multiple other service layer entities (1004, 1006, 1008, 1234, 1236) of the DSLT service of the communications network; send to each of the multiple other service layer entities, a request to lock any targeted DSLT API resources hosted by that other service layer entity; receive, from each of the multiple other service layer entities, a response indicating whether that service layer entity was able to lock the targeted DSLT API resources hosted by that service layer entity; send, to the multiple other service layer entities, based on receiving responses indicating that the multiple other service layer entities were able to lock the set of targeted DSLT APIresources, requests to perform atomic execution of the command on the set of targeted DSLT API resources; receive, from the multiple other service layer entities, responses indicating that the command was successfully executed on the set of targeted DSLT API resources; send, to the multiple other service layer entities, based on receiving responses indicating that the command was successfully executed on the set of targeted DSLT API resources, requests to commit the distributed service layer transaction; and send, to the application, a response indicating the distributed service layer transaction was successfully performed. receive from an application (1002, 1230, 2908, 20) executing on the communications network, a request for a distributed service layer transaction, the request specifying a command to be atomically executed on a set of targeted DSLT API resources, wherein the targeted DSLT API resources are hosted by multiple other service layer entities (1004, 1006, 1008, 1234, 1236) of the DSLT service of the communications network; send to each of the multiple other service layer entities, a request to lock any targeted DSLT API resources hosted by that other service layer entity; receive, from each of the multiple other service layer entities, a response indicating whether that service layer entity was able to lock the targeted DSLT API resources hosted by that service layer entity; send, to the multiple other service layer entities, based on receiving responses indicating that the multiple other service layer entities were able to lock the set of targeted DSLT APIresources, requests to perform atomic execution of the command on the set of targeted DSLT API resources; receive, from the multiple other service layer entities, responses indicating that the command was successfully executed on the set of targeted DSLT API resources; send, to the multiple other service layer entities, based on receiving responses indicating that the command was successfully executed on the set of targeted DSLT API resources, requests to commit the distributed service layer transaction; and send, to the application, a response indicating the distributed service layer transaction was successfully performed.