- Application Programming Interfaces that operate across a network of computers. They communicate using network protocols including HTTP, and are frequently produced by different organizations than the ones that consume them.
Networked APIs exposed by Google services. Most of them are hosted on
googleapis.comdomain. This term does not include other types of APIs, such as client libraries and SDKs.
All Google APIs share a common data model: an API consumer consumes an API service managed by an API producer. This allows users to have a simple and coherent experience across Google APIs.
Google Cloud APIs
- The subset of Google APIs exposed by Google Cloud services. For more information, see Cloud APIs.
- A Protocol Buffers service definition. It is typically mapped to an interface in most programming languages. An API interface can be implemented by any number of API Services.
- The version of an API interface or a group of API interfaces if they are defined together. An API version is often represented by a string, such as "v1", and presents in API requests and Protocol Buffers package names.
- An individual operation within an API Interface. It is represented in
Protocol Buffers by an
rpcdefinition, and is typically mapped to a function in the API Interface in most programming languages.
- A single invocation of an API Method. It is often used as the unit for billing, logging, monitoring, and rate limiting.
A deployed implementation of one or more API interface(s), exposed on one or more network addresses, such as Cloud Pub/Sub API.
For Google APIs, the notions of API and service are used as synonyms of API service.
API Service Name
- Refers to the logical identifier of an API service. Google APIs use RFC 1035 DNS compatible names as their API service names, such as "pubsub.googleapis.com".
API Service Endpoint
- Refers to a network address that an API service uses to service the actual
API requests. One API service may have multiple API service endpoints,
API Service Definition
- The combination of API Interface definitions (.proto files) and API
Service configurations (.yaml files) used to define an API Service.
The schema for Google API Service Definition is
- An API Service plus related components, such as Terms of Service, documentation, client libraries, and service support, are collectively presented to customers as a product. For example, Google Calendar API. People sometimes refer to an API Product simply as an API.
- The entity that consumes an API Service. For Google APIs, it typically is a Google project that owns the client application or the server resource.
- The entity that produces an API Service. For Google APIs, it typically is a Google project that owns the API service.
- A set of servers plus related infrastructure that implements the business logic for an API Service. An individual API backend server is often called an API server.
A set of servers plus related infrastructure that provides common functionality across API Services, such as load balancing and authentication. An individual API frontend server is often called an API proxy.
Note that the API frontend and the API backend may run next to each other or far away from each other. In some cases, they can be compiled into a single application binary and run inside a single process.