I cannot find any solutions in the Developer Hub that pertains to using InsertService to get a module. Those other errors are HTTP 0 and HTTP 500.
The module Ids are from my main account. I am using my sister’s account to test to see if they can be required by accounts other than the creator. The require(moduleId) works, however, game:GetService("InsertService"):LoadAsset(moduleId) does not.
Forbidden means you’re not allowed to insert the asset. LoadAsset can only be used for assets that you own or assets that the Roblox account has created.
For personal games, you must explicitly own the asset you’re trying to load (it’s in your inventory and can be inserted via the Toolbox window).
For group games, the model must be uploaded to the group as a model and can only be used in group games, not your profile.
As your module is uploaded to your account and you’re trying to insert it into a place owned by another account, the asset is forbidden to be inserted by the other account because it does not own the module. Put your module on sale, have the other account take the model and then try again.
Consider checking back again when the current audio permissions system is applied to other development assets. When developers and groups are able to grant permissions to an experience to use an asset, it’s likely LoadAsset will be changed to respect these permissions rather than rely strictly on asset ownership. If it doesn’t, then you can write a feature request regarding this.