API Style Guides · Example Payload

Heroku Stability Levels

Stability LevelsHerokuCompatibility

Heroku Stability Levels is an example object payload from API Style Guides, with 14 top-level fields. It illustrates the shape of data this provider's APIs accept or return.

Top-level fields

$schemaidguideleveltitlesummarycategoryrationaleappliesTosourceUrlreferencesexamplesrelatedRulestags

Example Payload

heroku-stability-levels.json Raw ↑
{
  "$schema": "../json-schema/style-guide-rule-schema.json",
  "id": "heroku-stability-levels",
  "guide": "style-guides:heroku",
  "level": "MUST",
  "title": "Annotate Every Resource With a Stability Level",
  "summary": "Each Platform API resource is tagged with a stability attribute of prototype, development, or production. Only production resources are covered by the change-management policy; prototype and development resources may change without notice.",
  "category": "Compatibility",
  "rationale": "Stability levels give the platform room to experiment in public without violating the compatibility contract that production-tier customers depend on.",
  "appliesTo": ["REST"],
  "sourceUrl": "https://devcenter.heroku.com/articles/platform-api-reference",
  "references": [
    {
      "url": "https://devcenter.heroku.com/articles/api-compatibility-policy",
      "title": "Heroku API Compatibility Policy",
      "type": "StyleGuide"
    }
  ],
  "examples": [
    {
      "kind": "good",
      "language": "json",
      "snippet": "{\n  \"$schema\": \"http://json-schema.org/draft-04/hyper-schema\",\n  \"title\": \"Heroku Platform API - App\",\n  \"stability\": \"production\",\n  \"description\": \"An app represents the program that you would like to deploy and run on Heroku.\"\n}"
    }
  ],
  "relatedRules": ["aip-181"],
  "tags": ["Stability Levels", "Heroku", "Compatibility"]
}