Nexus API Registry & Nexus Endpoints
This page covers the following:
Nexus API Registry
The Nexus API Registry stores information about Nexus Endpoints. In self-hosted deployments, the registry is scoped to a cluster; while in Temporal Cloud, it is scoped to an account. Developers can advertise available endpoints and services, so others can find them for use in their caller Workflows.
Adding a Nexus Endpoint to the API Registry allows Nexus Operation requests to be sent to the underlying target Namespace and Task Queue, using the name of the Endpoint in the API Registry.
Endpoint names must be unique within the registry. When the Temporal Service dispatches a Nexus request, it resolves the request's Endpoint to a Target Namespace and Task Queue via the Nexus API Registry.
You can search the Nexus API registry for Endpoint name or an endpoint Target Namespace to quickly find an Endpoint of interest. The Endpoint details page shows the Target Namespace and Target Task Queue along with the endpoint description rendered as markdown.
Creating a Nexus Endpoint includes setting an Access Policy of caller Namespaces that can access the Endpoint. Even the Target Namespace must be added to the Access Policy to access the Endpoint. Temporal Cloud also provides built-in Endpoint access control in the form of a caller Namespace allowlist, which must be set for any caller to access a Nexus Endpoint, even if in the same Namespace.
Editing a Nexus Endpoint allows changing everything but the Endpoint Name. The Target Namespace and Target Task Queue can be updated without interrupting existing in-flight Nexus Operations that are already being processed, and new Nexus Operations will be routed to the updated Target Namespace and Target Task Queue.
The Access Policy may also be edited to add or remove caller Namespaces that can access the Endpoint.
Nexus Endpoints
A Nexus Endpoint is an API proxy that can route Nexus requests from a caller Workflow to an upstream target Namespace and Task Queue that a Worker is polling. A Worker handles Nexus requests by registering one or more Nexus Services - a named collection of Nexus Operations.
Multiple Nexus Endpoints can target the same target Namespace. For example, to decompose a monolithic Namespace into multiple Nexus Endpoints you can add multiple Nexus Endpoints that target the monolithic Namespace, and then update the Endpoints to target different Target Namespaces later.