One way is to create a service that creates the required remote thing and your device (appkey) will need to have access to run this service. Please refer this Java SDK example - Creating a Thing from a Virtual Thing Service (Java SDK)
The service may be invoked every time the SDK starts and connects. The example service may be modified to do nothing, if the thing already exists.
I essentially tried that and I got the following error, any suggestions?
Reason: Unable to dispatch [ uri = /Things/HEDCommissionThing/Services/CreateHEDEntity/]: Unable to Invoke Service CreateHEDEntity on HEDCommissionThing : Execution error in service script [HEDCommissionThing CreateHEDEntity] : Wrapped com.thingworx.common.exceptions.InvalidRequestException: Not authorized for ServiceInvoke on CreateThing in EntityServices Cause: Not authorized for ServiceInvoke on CreateThing in EntityServices