Is it possible to execute temporal workflow using HTTP REST calls

Hi Team,

Currently we are using the Temporal DotNet SDK for all the temporal communication but now we are exploring the Nexus service, so we are pretty much new here and under impression that we can replace our SDK implementation with the Nexus service we could be entirely wrong just got confused with the documents so thought to confirm it.

So first question is can we start/update workflow using the HTTP REST calls, we started working with the nexus service and created endpoint which is working fine when using Nexus client within another workflow but is there any way to execute workflow using the HTTP call or is there any way I can inject the Nexus client similar way we inject ITemporalClient.

So far we managed to get the Nexus endpoint details using below REST call and nothing more than that, we found couple more endpoint suggestion but all those are returning either 404 or "message": "invalid request method: expected GET, got \"POST\"". If you can help me to understand Nexus service because at this point we come to the conclusion we can’t use Nexus for HTTP operations it only allows or expose nexus client in the Workflow definition only. If it does support this please redirect me to the document and I will take a look.

Working Nexus GET endpoint, which is returns endpoint details - /api/v1/nexus/endpoints/{EndpointIdHere}

Not working Nexus POST endpoint, it always return invalid request - nexus/endpoints/{NexusEndpointId}/services/{ServiceName}/operations/{OperationName}

Thank you in advance!

Anyone from Temporal team can help on this, it would be great to speed up our nexus implementation, if it’s not what we are thinking or expecting then we can de-prioritize it for next phase.

@Chad_Retz Sorry tagging you here, but not sure if you can help me or not.

Hi @maheshmore,

The self-hosted version of Temporal supports this HTTP API as specified here: api/SPEC.md at 494165f890be9418c67dfce9c138694fe5c27855 · nexus-rpc/api · GitHub.

That being said, we currently consider these endpoints to be experimental and are meant to be used for server→server communication. These endpoints are not exposed in Temporal Cloud either so I wouldn’t count on using them for production use cases.

We have plans for building an HTTP connector for Nexus that integrates better with the Temporal auth model but that’s probably a few months away still.