Platform Design
Every Dodil service is defined as a strongly-typed gRPC API (Protobuf), and the same surface is automatically exposed over HTTP/JSON. Use whichever fits:
- gRPC — typed, streaming, fast. Ideal for services, SDKs, and agents.
- HTTP/JSON — plain
curlfrom any language, nothing to install.
Because the contract is Protobuf, the API is self-describing. Point any gRPC tool at an endpoint and use server reflection to enumerate every service, method, and message type — live, with no .proto files and no guesswork. And discovery needs no credentials: list and describe are open, so an agent can map the entire typed surface before it has a token, then authenticate only when it actually calls a method. That’s what makes the platform genuinely agent-friendly.
Discover the API with reflection
No auth required — just point grpcurl at an endpoint:
# list every gRPC service on an endpoint (staging)
grpcurl rpc.dev.dodil.io:443 list
grpcurl k3-grpc.dev.dodil.io:443 list
# describe a service (or method) to see its exact request/response types
grpcurl rpc.dev.dodil.io:443 describe dodil.ignite.v1.ModelServiceYou only need an access token once you start calling methods.
Endpoints
| Surface | Staging | Production |
|---|---|---|
| gRPC — Ignite, Scriptum, VBase | rpc.dev.dodil.io:443 | rpc.dodil.io:443 |
| gRPC — K3 | k3-grpc.dev.dodil.io:443 | k3-grpc.dodil.io:443 |
Each service is also reachable over HTTP/JSON — see a product’s Conventions page for its HTTP base (most are under api.dodil.io). Authenticate once with an IAM access token (or dodil login via the CLI).
See also
- Get an Access Token — authenticate the API programmatically
- Examples — see the gRPC + HTTP surfaces used end to end
- Each product’s Conventions page for its exact endpoints and wire format