GitHunt
WO

wora/googleapis.github.io

The GitHub pages site for the googleapis organization.

Google APIs

The googleapis organization hosts tools,
technical articles, and issues related to API practice at Google.

About Google APIs

Google APIs
refers to networked APIs provided by Google services.
Most Google APIs are hosted on the googleapis.com domain,
and most services provide
both REST
and gRPC APIs using
transcoding.

Google APIs are developed as RPC services defined using the
Protocol Buffer language
(a.k.a. "proto"). API specifications are published in the
Google APIs repository.
External developers can use the published proto files to generate documentation and
client libraries or to guide their own API definitions.

API Design Guide

To provide great developer experience, Google APIs use a common
API Design Guide
that encourages a simple and consistent API design philosophy.
It also provides solutions to common design issues,
such as proper default values for enums and
patterns for long-running operations.

API Client Tools

Many Google APIs are supported by client libraries that developers can use to
more easily call Google's gRPC and REST APIs. Many of these libraries are
generated using toolkit and
artman.

Google API Extensions (GAX)

The googleapis organization also hosts
repositories that contain common code used by Google's generated and handwritten
client libraries. Details vary by language, but most provide support
for generally-needed features like paging and retry. Currently there is one such
library for each of the main languages that we support:
gax-dotnet,
gax-go,
gax-java,
gax-nodejs,
gax-php,
gax-python, and
gax-ruby.
Note that we consider these to be internal implementation details of our
clients and reserve the right to make changes, so if you choose to use them,
be sure to refer to tagged versions.

OpenAPI Tools

We are also building tools that work with the
OpenAPI Specification
for REST APIs. gnostic
is an extensible front-end for OpenAPI tools that reads OpenAPI
descriptions, puts them in an efficient binary representation,
and allows efficient plugins and standalone tools to be easily written
in any programming language with Protocol Buffer support.

For feedback and questions, please file an issue!

If you have feedback or questions regarding API design or methodology,
please file an issue in the
googleapis.github.io issues area.
For specific tool questions, please file an issue on the corresponding
repository. We look forward to hearing from you!