Temporal Cloud Ops API

The Temporal Cloud Operations API is an open source, public HTTP API and gRPC API for programmatically managing Temporal Cloud control plane resources, including Namespaces, Users, Service Accounts, API keys, and other infrastructure components.

OpenAPI Specification

cloud-ops-api.yml Raw ↑
openapi: 3.1.0
info:
  title: Temporal Cloud Operations API
  description: >-
    The Temporal Cloud Operations API provides HTTP endpoints for programmatically
    managing Temporal Cloud control plane resources including Namespaces, Users,
    Service Accounts, API keys, and other infrastructure components.
  version: 2024-05-13-00
  contact:
    name: Temporal Technologies
    url: https://temporal.io/
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
- url: https://saas-api.tmprl.cloud
  description: Temporal Cloud API
security:
- BearerAuth: []
paths:
  /api/v1/namespaces:
    get:
      operationId: listNamespaces
      summary: List Namespaces
      description: Returns a list of all Namespaces in the account.
      tags:
      - Namespaces
      parameters:
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  namespaces:
                    type: array
                    items:
                      $ref: '#/components/schemas/Namespace'
                  nextPageToken:
                    type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createNamespace
      summary: Create a Namespace
      description: Creates a new Namespace in the account.
      tags:
      - Namespaces
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateNamespaceRequest'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateNamespaceResponse'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/namespaces/{namespace}:
    get:
      operationId: getNamespace
      summary: Get a Namespace
      description: Returns details of a specific Namespace.
      tags:
      - Namespaces
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Namespace'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteNamespace
      summary: Delete a Namespace
      description: Deletes a specific Namespace.
      tags:
      - Namespaces
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/namespaces/{namespace}/update:
    post:
      operationId: updateNamespace
      summary: Update a Namespace
      description: Updates a specific Namespace configuration.
      tags:
      - Namespaces
      parameters:
      - name: namespace
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateNamespaceRequest'
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/users:
    get:
      operationId: listUsers
      summary: List Users
      description: Returns a list of all Users in the account.
      tags:
      - Users
      parameters:
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  users:
                    type: array
                    items:
                      $ref: '#/components/schemas/User'
                  nextPageToken:
                    type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createUser
      summary: Create a User
      description: Creates a new User in the account.
      tags:
      - Users
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateUserRequest'
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/users/{userId}:
    get:
      operationId: getUser
      summary: Get a User
      description: Returns details of a specific User.
      tags:
      - Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/User'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteUser
      summary: Delete a User
      description: Deletes a specific User.
      tags:
      - Users
      parameters:
      - name: userId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/service-accounts:
    get:
      operationId: listServiceAccounts
      summary: List Service Accounts
      description: Returns a list of all Service Accounts in the account.
      tags:
      - Service Accounts
      parameters:
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  serviceAccounts:
                    type: array
                    items:
                      $ref: '#/components/schemas/ServiceAccount'
                  nextPageToken:
                    type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createServiceAccount
      summary: Create a Service Account
      description: Creates a new Service Account.
      tags:
      - Service Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceAccountRequest'
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/service-accounts/{serviceAccountId}:
    get:
      operationId: getServiceAccount
      summary: Get a Service Account
      description: Returns details of a specific Service Account.
      tags:
      - Service Accounts
      parameters:
      - name: serviceAccountId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceAccount'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteServiceAccount
      summary: Delete a Service Account
      description: Deletes a specific Service Account.
      tags:
      - Service Accounts
      parameters:
      - name: serviceAccountId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/api-keys:
    get:
      operationId: listApiKeys
      summary: List Api Keys
      description: Returns a list of all API keys in the account.
      tags:
      - API Keys
      parameters:
      - name: pageSize
        in: query
        schema:
          type: integer
      - name: pageToken
        in: query
        schema:
          type: string
      - name: ownerId
        in: query
        schema:
          type: string
      - name: ownerType
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  apiKeys:
                    type: array
                    items:
                      $ref: '#/components/schemas/ApiKey'
                  nextPageToken:
                    type: string
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    post:
      operationId: createApiKey
      summary: Create an Api Key
      description: Creates a new API key for authentication.
      tags:
      - API Keys
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateApiKeyRequest'
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/api-keys/{keyId}:
    get:
      operationId: getApiKey
      summary: Get an Api Key
      description: Returns details of a specific API key.
      tags:
      - API Keys
      parameters:
      - name: keyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiKey'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
    delete:
      operationId: deleteApiKey
      summary: Delete an Api Key
      description: Deletes a specific API key.
      tags:
      - API Keys
      parameters:
      - name: keyId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/regions:
    get:
      operationId: listRegions
      summary: List Regions
      description: Returns a list of all available regions.
      tags:
      - Regions
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  regions:
                    type: array
                    items:
                      $ref: '#/components/schemas/Region'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
  /api/v1/async-operations/{asyncOperationId}:
    get:
      operationId: getAsyncOperation
      summary: Get Async Operation Status
      description: Returns the status of an asynchronous operation.
      tags:
      - Async Operations
      parameters:
      - name: asyncOperationId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AsyncOperation'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
  schemas:
    Namespace:
      type: object
      properties:
        namespace:
          type: string
          example: example_value
        resourceVersion:
          type: string
          example: example_value
        spec:
          type: object
          properties:
            name:
              type: string
            region:
              type: string
            retentionDays:
              type: integer
            codecServer:
              type: object
            mtlsAuth:
              type: object
          example: example_value
        state:
          type: string
          example: example_value
        asyncOperationId:
          type: string
          example: '500123'
        endpoints:
          type: object
          example: example_value
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        lastModifiedTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    CreateNamespaceRequest:
      type: object
      required:
      - spec
      properties:
        spec:
          type: object
          properties:
            name:
              type: string
            region:
              type: string
            retentionDays:
              type: integer
          example: example_value
    UpdateNamespaceRequest:
      type: object
      required:
      - resourceVersion
      - spec
      properties:
        resourceVersion:
          type: string
          example: example_value
        spec:
          type: object
          example: example_value
    CreateNamespaceResponse:
      type: object
      properties:
        namespace:
          type: string
          example: example_value
        asyncOperationId:
          type: string
          example: '500123'
    User:
      type: object
      properties:
        id:
          type: string
          example: abc123
        resourceVersion:
          type: string
          example: example_value
        spec:
          type: object
          properties:
            email:
              type: string
            access:
              type: object
          example: example_value
        state:
          type: string
          example: example_value
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        lastModifiedTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    CreateUserRequest:
      type: object
      required:
      - spec
      properties:
        spec:
          type: object
          properties:
            email:
              type: string
            access:
              type: object
          example: example_value
    ServiceAccount:
      type: object
      properties:
        id:
          type: string
          example: abc123
        resourceVersion:
          type: string
          example: example_value
        spec:
          type: object
          properties:
            name:
              type: string
            access:
              type: object
          example: example_value
        state:
          type: string
          example: example_value
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    CreateServiceAccountRequest:
      type: object
      required:
      - spec
      properties:
        spec:
          type: object
          properties:
            name:
              type: string
            access:
              type: object
          example: example_value
    ApiKey:
      type: object
      properties:
        id:
          type: string
          example: abc123
        resourceVersion:
          type: string
          example: example_value
        spec:
          type: object
          properties:
            displayName:
              type: string
            ownerId:
              type: string
            ownerType:
              type: string
            expiryTime:
              type: string
              format: date-time
          example: example_value
        state:
          type: string
          example: example_value
        createdTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
    CreateApiKeyRequest:
      type: object
      required:
      - spec
      properties:
        spec:
          type: object
          properties:
            displayName:
              type: string
            ownerId:
              type: string
            ownerType:
              type: string
            expiryTime:
              type: string
              format: date-time
          example: example_value
    Region:
      type: object
      properties:
        id:
          type: string
          example: abc123
        cloudProvider:
          type: string
          example: example_value
        location:
          type: string
          example: example_value
    AsyncOperation:
      type: object
      properties:
        id:
          type: string
          example: abc123
        state:
          type: string
          example: example_value
        checkDuration:
          type: string
          example: example_value
        operationType:
          type: string
          example: example_value
        startedTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        finishedTime:
          type: string
          format: date-time
          example: '2026-01-15T10:30:00Z'
        failureReason:
          type: string
          example: example_value