Reliable way to find out the required context for an operator?
Asking for a way to find the context for all possible operators that need such an override is at the same time ignoring all the responses to people looking for their specific override for their needs.

As is often the case with 'context is incorrect', there is a solution that's much simpler and (more) logical than the potential workaround using context overrides. While most operators can take an override context, you will invariably (if you dig deep enough) find several that can't. You will also find operators which are the only way to achieve some goal.

For all other cases where there's a better way to do it without the operator in question, you simply use the lower level bpy code. Ask, we will always give an answer, or dig using the Info console and track the changes in bpy.data to see what got added and which parameters are adjusted after a manual Operator invoke (ie you click a button, and that calls the operator in question).

(Sometimes a context override is the only way, but not this time)

Make a new world material.

&gt;&gt;&gt; m = bpy.data.worlds.new('amazon')
&gt;&gt;&gt; m.use_nodes = True
&gt;&gt;&gt; m.node_tree
bpy.data.node_groups['Shader Nodetree']

&gt;&gt;&gt; m.node_tree.nodes['Background'].color
Color((0.608, 0.608, 0.608))

# setting current scene world
&gt;&gt;&gt; bpy.context.scene.world = bpy.data.worlds['amazon']