Yaak Logo
Yaak
Docs/Request Types/gRPC Requests

gRPC Requests

Send and test gRPC API calls with automatic schema discovery

Yaak supports gRPC alongside REST, GraphQL, and other protocols. Test unary calls, streaming endpoints, and bidirectional communication from the same workspace.

gRPC request showing a unary call to a greeting service

A gRPC request in Yaak

Loading the Schema

gRPC messages do not contain field names or types, so serialization requires knowing the schema. Because of this, Yaak needs service and method definitions before sending requests. Server reflection is the easiest approach—click the refresh button next to the service dropdown and Yaak discovers available methods automatically.

Service dropdown showing discovered gRPC methods from server reflection

Services discovered via server reflection

For servers without reflection, you can select .proto files manually. Click the schema error message, select your files, and add import directories if needed.

Dialog for selecting proto files and import directories

Selecting proto files manually

Selecting a Method

Select a method from the dropdown. Methods display as ServiceName/MethodName. The editor updates to show the expected message structure.

JSON message editor with autocomplete suggestions based on protobuf schema

Schema-aware autocomplete in the message editor

The editor accepts JSON with autocomplete from your protobuf schema. Press Ctrl+Space for available fields. Validation errors highlight in real-time.

Environment variables and template functions work in gRPC messages.

Metadata and Authentication

gRPC metadata works like HTTP headers. Add key-value pairs in the Metadata tab. These support template variables and inherit from parent folders and workspaces.

Metadata tab showing key-value pairs for gRPC request headers

Metadata on a gRPC request

Authentication configuration matches HTTP requests. Bearer tokens, Basic auth, OAuth 2.0, and other methods add appropriate metadata automatically.

Streaming

All four gRPC patterns are supported. Unary calls work with a single Send click.

Streaming methods adapt the interface:

  • Server streaming: Send once, responses arrive in the timeline
  • Client streaming: Send multiple messages, click Commit to close and receive the response
  • Bidirectional: Send messages while receiving responses
Response timeline showing multiple streaming messages from server

Timeline view of a streaming response

The response pane shows all events—sent messages, server responses, and errors. Click any event for full content.

TLS and Certificates

TLS applies automatically for secure connections. For mTLS, add client certificates in Settings → Client Certificates. Yaak matches them by hostname.

Disable certificate validation for local development in Workspace Settings.

Was this page helpful?

Loading...