Categories

Meta

NumberTitle
1AIP Purpose and Guidelines
2AIP Numbering
3AIP Versioning
200Precedent
8AIP Style and Guidance
9Glossary

Process

NumberTitle
100API Design Review FAQ
205Beta-blocking changes

API Concepts

NumberTitle
111Planes

Resource Design

NumberTitle
121Resource-oriented design
122Resource names
123Resource types
124Resource association
126Enumerations
128Declarative-friendly interfaces
129Server-Modified Values and Defaults
156Singleton resources
236Policy preview

Operations

NumberTitle
130Methods
131Standard methods: Get
132Standard methods: List
133Standard methods: Create
134Standard methods: Update
135Standard methods: Delete
136Custom methods
151Long-running operations
231Batch methods: Get
233Batch methods: Create
234Batch methods: Update
235Batch methods: Delete

Fields

NumberTitle
140Field names
202Fields
203Field behavior documentation
141Quantities
142Time and duration
143Standardized codes
144Repeated fields
145Ranges
146Generic fields
147Sensitive fields
148Standard fields
149Unset field values
216States

Design Patterns

NumberTitle
152Jobs
153Import and export
154Resource freshness validation
155Request identification
157Partial responses
158Pagination
159Reading across collections
160Filtering
161Field masks
162Resource Revisions Draft
163Change validation
164Soft delete
165Criteria-based delete
210Unicode
211Authorization checks
214Resource expiration
217Unreachable resources

Compatibility and Versioning

NumberTitle
180Backwards compatibility
181Stability levels
182External software dependencies Reviewing
185API Versioning

Polish

NumberTitle
190Naming conventions
191File and directory structure
192Documentation
193Errors
194Automatic retry configuration

Protocol buffers

NumberTitle
127HTTP and gRPC Transcoding
213Common components
215API-specific protos