openapi: 3.0.3 info: title: Temporal HTTP Cluster Namespaces API description: The Temporal HTTP API is a first-party grpc-gateway that maps a REST/JSON subset of the Temporal WorkflowService (gRPC) onto HTTP paths under `/api/v1`. Temporal's primary and complete API surface is gRPC (WorkflowService and OperatorService, defined as protobuf in github.com/temporalio/api); this HTTP API exists for automation, CI/CD, and environments where gRPC is impractical, and it exposes only a subset of the gRPC methods. The worker task-polling and task-completion RPCs (PollWorkflowTaskQueue, PollActivityTaskQueue, RespondWorkflowTaskCompleted, PollNexusTaskQueue, and similar) are NOT exposed over HTTP and remain gRPC-only. On Temporal Cloud the HTTP API is served per namespace over HTTPS; self-hosted it is served by the frontend service when the HTTP port is enabled. Requests authenticate with a Bearer API key (or mTLS on self-hosted). The paths and verbs below are drawn from the google.api.http annotations on the WorkflowService proto and are modeled here, not exhaustively confirmed against a live namespace. version: '1.0' contact: name: Temporal Technologies url: https://temporal.io license: name: MIT url: https://github.com/temporalio/api/blob/master/LICENSE servers: - url: https://{namespace}.{account}.tmprl.cloud/api/v1 description: Temporal Cloud (per-namespace HTTP API endpoint) variables: namespace: default: your-namespace description: Your Temporal Cloud namespace name. account: default: your-account description: Your Temporal Cloud account (short) ID. - url: http://localhost:7243/api/v1 description: Self-hosted frontend HTTP API (when the HTTP port is enabled) security: - bearerAuth: [] tags: - name: Namespaces description: Read namespace metadata (read-only subset over HTTP). paths: /namespaces/{namespace}: parameters: - $ref: '#/components/parameters/Namespace' get: operationId: describeNamespace tags: - Namespaces summary: Describe a namespace description: Returns configuration and metadata for a namespace. Maps to the gRPC DescribeNamespace RPC. Namespace creation and updates on Temporal Cloud are performed through the Cloud Operations API, not this data-plane HTTP API. responses: '200': description: Namespace configuration and metadata. content: application/json: schema: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /namespaces: get: operationId: listNamespaces tags: - Namespaces summary: List namespaces description: Lists namespaces visible to the caller. Maps to the gRPC ListNamespaces RPC. parameters: - name: page_size in: query required: false schema: type: integer - name: next_page_token in: query required: false schema: type: string format: byte responses: '200': description: A page of namespaces. content: application/json: schema: type: object additionalProperties: true '401': $ref: '#/components/responses/Unauthorized' components: schemas: Status: type: object description: A google.rpc.Status-style error payload. properties: code: type: integer message: type: string details: type: array items: type: object additionalProperties: true parameters: Namespace: name: namespace in: path required: true description: The Temporal namespace. schema: type: string responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Status' NotFound: description: The requested workflow execution or namespace was not found. content: application/json: schema: $ref: '#/components/schemas/Status' securitySchemes: bearerAuth: type: http scheme: bearer description: 'Bearer API key. On Temporal Cloud, pass an API key as `Authorization: Bearer `. Self-hosted deployments may use mTLS instead. Requests are scoped to the namespace in the path.'