googleapis/google/api
2026-07-22 05:45:18 -07:00
..
apikeys chore: update preview/stable values for previously migrated libraries, and do not attempt to regenerate .OwlBot.yaml for libraries that already exist 2025-09-18 18:10:09 -07:00
cloudquotas feat: publish Cloud Quotas v1 GA client library protos and GAPIC Bazel rules 2026-07-22 05:45:18 -07:00
expr feat: synchronize google/api/expr/v1alpha1 2026-04-02 09:44:56 -07:00
servicecontrol chore: update copyright year for auto-generated protos 2026-07-16 10:08:12 -07:00
servicemanagement feat: upgrade protobuf from v25.7 to v31.0 2026-03-10 13:26:56 -07:00
serviceusage feat: upgrade protobuf from v25.7 to v31.0 2026-03-10 13:26:56 -07:00
annotations.proto chore: update copyright year for auto-generated protos 2025-02-28 07:26:00 -08:00
auth.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
backend.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
billing.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
BUILD.bazel chore(python): include *.proto files in //gapic/metadata:metadata-py 2025-03-05 02:06:11 -08:00
client.proto docs: update SelectiveGapicGeneration usage doc 2026-03-31 18:42:49 -07:00
config_change.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
consumer.proto chore: update copyright year for auto-generated protos 2025-02-28 07:26:00 -08:00
context.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
control.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
distribution.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
documentation.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
endpoint.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
error_reason.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
field_behavior.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
field_info.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
http.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
httpbody.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
label.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
launch_stage.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
log.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
logging.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
metric.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
monitored_resource.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
monitoring.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
policy.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
quota.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
README.md chore: update README files 2023-10-11 10:16:35 -07:00
resource.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
routing.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
service.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
serviceconfig.yaml feat: public google.api.FieldInfo type and extension 2023-10-02 09:08:25 -07:00
source_info.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
system_parameter.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
usage.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00
visibility.proto feat: publish client batch config schema 2026-03-25 09:34:38 -07:00

API Protos

This folder contains the schema of the configuration model for Google's internal API serving platform, which handles routing, quotas, monitoring, logging, and the like.

Google refers to this configuration colloquially as the "service config", and the service.proto file in this directory is the entry point for understanding these.

Using these protos

To be honest, we probably open sourced way too much of this (basically by accident). There are a couple files in here you are most likely to be interested in: http.proto, documentation.proto, auth.proto, and annotations.proto.

HTTP and REST

The http.proto file contains the Http message (which then is wrapped in an annotation in annotations.proto), which provides a specification for REST endpoints and verbs (GET, POST, etc.) on RPC methods. We recommend use of this annotation for describing the relationship between RPCs and REST endpoints.

Documentation

The documentation.proto file contains a Documentation message which provides a mechanism to fully describe an API, allowing a tool to build structured documentation artifacts.

Authentication

The auth.proto file contains descriptions of both authentication rules and authentication providers, allowing you to describe what your services expect and accept from clients.