gRPC Reflection API

Server Reflection service for runtime discovery of available gRPC services and their definitions.

OpenAPI Specification

grpc-reflection-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: gRPC-Web Proxy Reflection API
  description: OpenAPI specification for gRPC-Web proxy endpoints. gRPC-Web is a JavaScript client library that enables browser-based applications to communicate with gRPC services through an intermediary proxy. The proxy translates HTTP/1.1 and HTTP/2 requests into native gRPC calls, exposing health checking, reflection, and channelz services over RESTful HTTP endpoints.
  version: 1.0.0
  contact:
    name: gRPC Authors
    url: https://grpc.io/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://localhost:8080
  description: Local gRPC-Web proxy
tags:
- name: Reflection
  description: Server Reflection service for runtime discovery of available gRPC services and their definitions.
paths:
  /grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo:
    post:
      operationId: serverReflectionInfo
      summary: gRPC Query server reflection information
      description: Bidirectional streaming endpoint for querying server reflection data. Allows clients to discover available services, methods, and message types at runtime without prior knowledge of the service definitions.
      tags:
      - Reflection
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ServerReflectionRequest'
      responses:
        '200':
          description: Reflection response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServerReflectionResponse'
components:
  schemas:
    ServerReflectionResponse:
      type: object
      properties:
        valid_host:
          type: string
        original_request:
          $ref: '#/components/schemas/ServerReflectionRequest'
        list_services_response:
          type: object
          properties:
            service:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
        error_response:
          type: object
          properties:
            error_code:
              type: integer
            error_message:
              type: string
    ServerReflectionRequest:
      type: object
      properties:
        host:
          type: string
          description: The host name for which reflection info is requested.
        list_services:
          type: string
          description: Set to empty string to list all services. When set, returns the list of all registered services.
        file_by_filename:
          type: string
          description: Find a proto file by the file name.
        file_containing_symbol:
          type: string
          description: Find the proto file that declares the given fully-qualified symbol name.
        file_containing_extension:
          type: object
          properties:
            containing_type:
              type: string
            extension_number:
              type: integer
          description: Find the proto file which defines an extension of the given type and number.
        all_extension_numbers_of_type:
          type: string
          description: Find all extension numbers for a given type.
externalDocs:
  description: gRPC Documentation
  url: https://grpc.io/docs/