googleapis/google/api
Google APIs caac3b8802 feat: add upb_c_proto_library for google/api/expr/v1alpha
PiperOrigin-RevId: 729287741
2025-02-20 16:10:26 -08:00
..
apikeys chore(php): promote ApiKeys as stable 2024-06-24 14:16:23 -07:00
cloudquotas feat!: Update google-cloud-cloud_quotas-v1 dependency to version 2.x 2025-02-11 16:16:58 -08:00
expr feat: add upb_c_proto_library for google/api/expr/v1alpha 2025-02-20 16:10:26 -08:00
servicecontrol chore(php): Migrate some GA APIs to NEW_SURFACE_ONLY 2024-09-09 12:26:01 -07:00
servicemanagement chore(php): Migrate some GA APIs to NEW_SURFACE_ONLY 2024-09-09 12:26:01 -07:00
serviceusage chore(php): Migrate some GA APIs to NEW_SURFACE_ONLY 2024-09-09 12:26:01 -07:00
annotations.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
auth.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
backend.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
billing.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
BUILD.bazel chore(python): Add build rule for //google/api:api-py to prepare for release 2024-12-16 11:17:58 -08:00
client.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
config_change.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
consumer.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
context.proto docs: improve MethodSettings selector examples 2024-07-16 09:59:52 -07:00
control.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
distribution.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
documentation.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
endpoint.proto docs: improve MethodSettings selector examples 2024-07-16 09:59:52 -07:00
error_reason.proto feat: add selective gapic generation option for publishing 2024-10-23 10:12:30 -07:00
field_behavior.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
field_info.proto docs: improve MethodSettings selector examples 2024-07-16 09:59:52 -07:00
http.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
httpbody.proto feat: Add field protobuf_pythonic_types_enabled to message ExperimentalFeatures 2024-11-06 12:06:50 -08:00
label.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
launch_stage.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
log.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
logging.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
metric.proto feat: add selective gapic generation option for publishing 2024-10-23 10:12:30 -07:00
monitored_resource.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
monitoring.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
policy.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
quota.proto feat: Add field protobuf_pythonic_types_enabled to message ExperimentalFeatures 2024-11-06 12:06:50 -08:00
README.md chore: update README files 2023-10-11 10:16:35 -07:00
resource.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
routing.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08:00
service.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
serviceconfig.yaml feat: public google.api.FieldInfo type and extension 2023-10-02 09:08:25 -07:00
source_info.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
system_parameter.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
usage.proto chore: update copyright year for auto-generated protos 2024-05-07 13:56:05 -07:00
visibility.proto feat: A new field unversioned_package_disabled is added to message .google.api.PythonSettings 2025-02-07 13:28:35 -08: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.