On-call and the laptop is at home? gRPC is just HTTP/2 + protobuf — here is the whole flow from an iPhone, including the two errors everyone hits.
Endpoint + (reflection or .proto) + metadata auth = a complete gRPC call from your phone. ReqPad is the only mobile API client with gRPC and Socket.IO support.
UNAVAILABLE on the first call — almost always TLS vs plaintext. Production endpoints on 443 want TLS; dev servers on 50051 usually do not. Flip the connection security setting before debugging anything else.
UNAUTHENTICATED with a valid token — your token is fine, its delivery is not.
gRPC does not read HTTP query params or cookie jars; the token must be in metadata, usually as
authorization: Bearer …, lowercase key included. Decode the token first with our
JWT decoder to rule out expiry before blaming the transport.
Yes. gRPC is HTTP/2 + protobuf, and a native client can speak it from iOS. ReqPad is the only mobile API client with gRPC and Socket.IO support — server reflection and .proto import included.
No. Reflection is just the discovery convenience. Import the .proto file instead; the schema gives you the same service and method list.
Nine times out of ten it is a TLS/plaintext mismatch: you are calling a TLS endpoint as plaintext or vice versa. Check the port too — 443 implies TLS, 50051 usually does not. The rest are firewalls or a server that only binds localhost.
grpcurl is the standard CLI for that and it is excellent. The point of doing it from a phone is the situations where the laptop is not there — on-call, commuting, or verifying a device-specific network path.
Server reflection, .proto import, metadata auth — plus REST, GraphQL, MQTT, WebSocket & Socket.IO. Free to start.