Name: AIP Numbering
Status: approved
Created: 2022-02-16
Updated: 2022-02-16

AIP Numbering (#2)

The AIP system at Kong serves as an index and source of truth for API-related documentation and allows teams to issue guidance iteratively, collaboratively, and transparently.

This document describes the AIP numbering system.

Assigning AIP Numbers

The AIP editors (see AIP-1) are responsible for assigning a number to each AIP when it is accepted as a draft for review. Importantly, all AIPs have numbers, not just approved ones.

The editors may decide to reserve a specific block of numbers for groups of AIPs that are related in some way (for example, that are only scoped to a specific subset of APIs).

The process at Kong is heavily influenced by the Google AIP process. As such, editors will assign numbers matching their equivalent topic within Google's system (for example, "Resource Naming" should be assigned 122 because it matches Google's numbering). Editors should not assign a number that Google has already assigned, nor should they assign a number that falls into one of Google's Generally Applicable blocks so that future conflicts will be avoided.

For AIPs where Google does not yet have an AIP, editors will use the Kong blocks defined below. AIP numbers are assigned arbitrarily. In general, the editors will take the next AIP number off of the stack to assign to a draft AIP, but occasionally may use a special/joke number if useful for mnemonic or other reasons.

In the case that Google creates an AIP that matches to a pre-existing Kong AIP, the editors may decide to renumber the Kong AIP on a case-by-case basis.

AIP Blocks

Currently recognized blocks of AIP numbers are:

Generally Applicable

Google Compatible

These blocks are reserved to be compatible with Google's current and future AIPs.

  • 1-99: Reserved for meta-AIPs (generally process-related) also defined by Google.
  • 100-999: General API design guidance also defined by Google.
  • 1000-2699: Reserved for future Google blocks

Kong Extension

  • 3000-3099: Reserved for meta-AIPs (generally process-related).
  • 3100-3999: General API design guidance.

Kong Product Areas

  • 5000-5299: Example Product Area

To request a block for a specific team that is publishing API guidance or documentation germane to that specific team, open an issue in the GitHub repository.