1. You would identify TESLA options chain RIC:
One way is to use RIC Search Tool on dev portal, entering "TESLA chain". We get back several Future and Option chains, the top hit in Options is "0#TSLA*.U" which is probably the RIC that you require, if not, select from the remaining the RIC that is required.
2. Subscribe the selected chain RIC,using websocket API, obtaining the complete list of option RICs per your requirement.
3. Subscribe each option RIC identified in step 2 and in the callback, process the obtained expiration and pricing fields.
Please review the article Building a Chain Expander application using Websocket API and .NET Core C# for more helpful details, it links to the code for the article made available via GitHub.
so there is no way to subscribe to all tsla options without making individual calls to each options RIC? we have to subscribe to the chain, then make individual subscriptions to each options RIC? this seems like a long way of subscribing? also how would this be done via api?
If the content that you require is made available as chain instrument, and you require the flexibility of integrating via Refinitiv Realtime Distribution System (formerly TREP) via websocket, this is the way to proceed, and the article should be helpful in speeding up the effort.
Perhaps, if your organization also has Refinitiv Workspace/Eikon product, and desktop level/single user level API access is in line with your requirement, you have an option of progressing as described in this previous discussion thread.