API Style Guides logo

API Style Guides

A landscape index of public API style guides published by leading technology companies and standards bodies. API style guides codify conventions for resource modeling, URI design, HTTP method use, status codes, error formats, pagination, versioning, deprecation, idempotency, hypermedia, and security so that APIs across an organization (or an industry) behave consistently. This topic repo catalogs the canonical industry style guides, compares the pillars each one chooses to mandate, and provides a shared vocabulary and JSON Schema for describing individual style guide rules.

11 APIs 0 Features
API Style GuidesAPI DesignAPI GovernanceRESTOpenAPIConventionsStandardsDocumentation

APIs

Microsoft REST API Guidelines

Microsoft's organization-wide REST API design guidelines, originally published in 2016 and now maintained as separate Azure and Microsoft Graph guideline documents under the umb...

Google API Improvement Proposals (AIPs)

Google's design review system, modeled on Python PEPs and Rust RFCs. AIPs are numbered, individually reviewable design documents covering resource-oriented design, standard meth...

Zalando RESTful API and Event Guidelines

The canonical open community style guide. Maintained by Zalando's API Guild and widely cited as the reference implementation for an API-First, OpenAPI-based REST and event-drive...

PayPal API Design Guidelines

PayPal's API style guide covering service design principles, HTTP methods, hypermedia, naming, URI structure, JSON schema and types, error handling, versioning, and deprecation....

adidas API Guidelines

adidas group's API guidelines covering general principles, REST conventions, and asynchronous (Kafka / AsyncAPI) event design. Ships with a Spectral ruleset that validates both ...

Cisco REST API Design Guide

Guidelines for Designing REST APIs at Cisco, developed across Cisco DevNet, Collaboration, and the Application Platform Group. Emphasizes "API-only" communication, aesthetic and...

Atlassian REST API Design Guidelines

Atlassian's REST API design guidelines, applied across Jira, Confluence, Crowd, and plugin REST modules. Defines URI conventions (singular resources, versioned paths, expand/sta...

Heroku Platform API Design Conventions

Heroku's design conventions for the Platform API, documented in the Platform API Reference and the API Compatibility Policy. Notable for versioned media types (application/vnd.h...

GitLab API Style Guide

GitLab's developer-facing API style guide for the REST API (v4) and GraphQL API. Mandates Grape DSL parameter validation, Entity-based response payloads, Title Case summary verb...

Kubernetes API Conventions

The Kubernetes API conventions document, maintained by SIG Architecture. Defines the "kind / apiVersion" object envelope, spec/status separation, resourceVersion-based optimisti...

IETF HTTPAPI Working Group Drafts and RFCs

The IETF httpapi Working Group is producing the cross-vendor vocabulary that style guides increasingly cite normatively. Includes RFC 9457 Problem Details for HTTP APIs, RFC 965...

Semantic Vocabularies

Style Guides Context

8 classes · 12 properties

JSON-LD

Resources

🔗
JSONSchema
JSONSchema
🔗
JSONLD
JSONLD
🔗
Vocabulary
Vocabulary
💻
Examples
Examples
🌐
DeveloperPortal
DeveloperPortal
🔗
Network
Network
👥
GitHubOrganization
GitHubOrganization
🔗
RelatedTopic
RelatedTopic
🔗
RelatedTopic
RelatedTopic
🔗
RelatedTopic
RelatedTopic

Sources

apis.yml Raw ↑
aid: style-guides
name: API Style Guides
description: >-
  A landscape index of public API style guides published by leading
  technology companies and standards bodies. API style guides codify
  conventions for resource modeling, URI design, HTTP method use, status
  codes, error formats, pagination, versioning, deprecation, idempotency,
  hypermedia, and security so that APIs across an organization (or an
  industry) behave consistently. This topic repo catalogs the canonical
  industry style guides, compares the pillars each one chooses to mandate,
  and provides a shared vocabulary and JSON Schema for describing
  individual style guide rules.
type: Index
image: https://kinlane-productions2.s3.amazonaws.com/api-evangelist-logos/api-evangelist-logo-butterfly.png
tags:
  - API Style Guides
  - API Design
  - API Governance
  - REST
  - OpenAPI
  - Conventions
  - Standards
  - Documentation
url: https://raw.githubusercontent.com/api-evangelist/style-guides/main/apis.yml
created: '2026-05-22'
modified: '2026-05-22'
specificationVersion: '0.19'
apis:
  - aid: style-guides:microsoft
    name: Microsoft REST API Guidelines
    description: >-
      Microsoft's organization-wide REST API design guidelines, originally
      published in 2016 and now maintained as separate Azure and Microsoft
      Graph guideline documents under the umbrella Guidelines.md. Licensed
      CC BY 4.0 to encourage adoption beyond Microsoft.
    humanURL: https://github.com/microsoft/api-guidelines
    baseURL: https://raw.githubusercontent.com/microsoft/api-guidelines/vNext/
    tags:
      - REST
      - Microsoft
      - Azure
      - Microsoft Graph
      - OData
    properties:
      - type: StyleGuide
        url: https://github.com/microsoft/api-guidelines/blob/vNext/Guidelines.md
      - type: AzureStyleGuide
        url: https://github.com/microsoft/api-guidelines/blob/vNext/azure/Guidelines.md
      - type: GraphStyleGuide
        url: https://github.com/microsoft/api-guidelines/blob/vNext/graph/GuidelinesGraph.md
      - type: License
        url: https://github.com/microsoft/api-guidelines/blob/vNext/license.txt
      - type: GitHubRepository
        url: https://github.com/microsoft/api-guidelines
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: Microsoft
          license: CC BY 4.0
          status: living
  - aid: style-guides:google-aip
    name: Google API Improvement Proposals (AIPs)
    description: >-
      Google's design review system, modeled on Python PEPs and Rust RFCs.
      AIPs are numbered, individually reviewable design documents covering
      resource-oriented design, standard methods, errors, pagination,
      naming conventions, and long-running operations. Maintained at
      aip.dev with content under CC BY 4.0 and code samples under
      Apache-2.0.
    humanURL: https://google.aip.dev/
    baseURL: https://google.aip.dev/
    tags:
      - REST
      - gRPC
      - Resource-Oriented
      - Google
    properties:
      - type: StyleGuide
        url: https://google.aip.dev/
      - type: GitHubRepository
        url: https://github.com/aip-dev/google.aip.dev
      - type: ContentLicense
        url: https://creativecommons.org/licenses/by/4.0/
      - type: CodeLicense
        url: https://www.apache.org/licenses/LICENSE-2.0
      - type: Scope
        data:
          surfaces:
            - REST
            - gRPC
          publisher: Google
          license: CC BY 4.0 (content) / Apache-2.0 (code)
          status: living
          approxRules: 70+ (general AIPs)
  - aid: style-guides:zalando
    name: Zalando RESTful API and Event Guidelines
    description: >-
      The canonical open community style guide. Maintained by Zalando's
      API Guild and widely cited as the reference implementation for an
      API-First, OpenAPI-based REST and event-driven API program. Roughly
      150+ numbered MUST/SHOULD/MAY rules covering REST basics, design,
      operation, and AsyncAPI-style event types.
    humanURL: https://opensource.zalando.com/restful-api-guidelines/
    baseURL: https://opensource.zalando.com/restful-api-guidelines/
    tags:
      - REST
      - Events
      - API First
      - OpenAPI
      - Zalando
    properties:
      - type: StyleGuide
        url: https://opensource.zalando.com/restful-api-guidelines/
      - type: GitHubRepository
        url: https://github.com/zalando/restful-api-guidelines
      - type: SpectralRuleset
        url: https://github.com/zalando/zally
      - type: Scope
        data:
          surfaces:
            - REST
            - Events
          publisher: Zalando SE
          license: CC BY 4.0
          status: living
          approxRules: 150+
  - aid: style-guides:paypal
    name: PayPal API Design Guidelines
    description: >-
      PayPal's API style guide covering service design principles, HTTP
      methods, hypermedia, naming, URI structure, JSON schema and types,
      error handling, versioning, and deprecation. The original repository
      at github.com/paypal/api-standards was archived; the content is
      preserved in community forks.
    humanURL: https://github.com/paypal/api-standards
    baseURL: https://raw.githubusercontent.com/KuSh/api-standards/master/
    tags:
      - REST
      - HATEOAS
      - PayPal
      - Payments
    properties:
      - type: StyleGuide
        url: https://github.com/paypal/api-standards
      - type: ArchiveMirror
        url: https://github.com/KuSh/api-standards
      - type: PatternsLibrary
        url: https://github.com/KuSh/api-standards/tree/master/patterns
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: PayPal
          license: not explicitly stated; CC-style sharing language in repo
          status: archived (mirrored)
  - aid: style-guides:adidas
    name: adidas API Guidelines
    description: >-
      adidas group's API guidelines covering general principles, REST
      conventions, and asynchronous (Kafka / AsyncAPI) event design. Ships
      with a Spectral ruleset that validates both OpenAPI and AsyncAPI
      specifications against the guideline. MIT licensed.
    humanURL: https://github.com/adidas/api-guidelines
    baseURL: https://raw.githubusercontent.com/adidas/api-guidelines/master/
    tags:
      - REST
      - AsyncAPI
      - Kafka
      - adidas
      - Spectral
    properties:
      - type: StyleGuide
        url: https://github.com/adidas/api-guidelines
      - type: SpectralRuleset
        url: https://github.com/adidas/api-guidelines/tree/master/spectral
      - type: GitHubRepository
        url: https://github.com/adidas/api-guidelines
      - type: Scope
        data:
          surfaces:
            - REST
            - AsyncAPI
          publisher: adidas
          license: MIT
          status: living
  - aid: style-guides:cisco
    name: Cisco REST API Design Guide
    description: >-
      Guidelines for Designing REST APIs at Cisco, developed across Cisco
      DevNet, Collaboration, and the Application Platform Group. Emphasizes
      "API-only" communication, aesthetic and behavioral consistency,
      OAuth2 / HTTPS security, and avoidance of internal vs. partner API
      bifurcation.
    humanURL: https://github.com/CiscoDevNet/api-design-guide
    baseURL: https://raw.githubusercontent.com/CiscoDevNet/api-design-guide/master/
    tags:
      - REST
      - Cisco
      - DevNet
      - OAuth2
    properties:
      - type: StyleGuide
        url: https://github.com/CiscoDevNet/api-design-guide
      - type: GitHubRepository
        url: https://github.com/CiscoDevNet/api-design-guide
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: Cisco Systems
          license: see repository (Cisco copyright 2015-2024)
          status: living
  - aid: style-guides:atlassian
    name: Atlassian REST API Design Guidelines
    description: >-
      Atlassian's REST API design guidelines, applied across Jira,
      Confluence, Crowd, and plugin REST modules. Defines URI conventions
      (singular resources, versioned paths, expand/start-index/max-results
      query parameters), HTTP method semantics, response codes, and
      versioning policy.
    humanURL: https://developer.atlassian.com/server/framework/atlassian-sdk/atlassian-rest-api-design-guidelines-version-1/
    baseURL: https://developer.atlassian.com/
    tags:
      - REST
      - Atlassian
      - Jira
      - Confluence
    properties:
      - type: StyleGuide
        url: https://developer.atlassian.com/server/framework/atlassian-sdk/atlassian-rest-api-design-guidelines-version-1/
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: Atlassian
          license: documentation under Atlassian terms
          status: v1 (legacy server framework)
  - aid: style-guides:heroku
    name: Heroku Platform API Design Conventions
    description: >-
      Heroku's design conventions for the Platform API, documented in the
      Platform API Reference and the API Compatibility Policy. Notable for
      versioned media types (application/vnd.heroku+json; version=3),
      JSON Schema discovery via /schema, Range-based pagination, stability
      levels (prototype / development / production), and structured error
      payloads.
    humanURL: https://devcenter.heroku.com/articles/platform-api-reference
    baseURL: https://api.heroku.com
    tags:
      - REST
      - Heroku
      - JSON Schema
      - Stability Levels
    properties:
      - type: StyleGuide
        url: https://devcenter.heroku.com/articles/platform-api-reference
      - type: CompatibilityPolicy
        url: https://devcenter.heroku.com/articles/api-compatibility-policy
      - type: JSONSchema
        url: https://api.heroku.com/schema
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: Heroku (Salesforce)
          license: documentation under Heroku terms
          status: living
  - aid: style-guides:gitlab
    name: GitLab API Style Guide
    description: >-
      GitLab's developer-facing API style guide for the REST API (v4) and
      GraphQL API. Mandates Grape DSL parameter validation, Entity-based
      response payloads, Title Case summary verbs aligned to HTTP method,
      deprecation markers with migration guidance, and PATCH vs. PUT
      semantics. CC BY-SA 4.0.
    humanURL: https://docs.gitlab.com/ee/development/api_styleguide.html
    baseURL: https://gitlab.com/api/v4/
    tags:
      - REST
      - GraphQL
      - GitLab
      - Grape
    properties:
      - type: StyleGuide
        url: https://docs.gitlab.com/ee/development/api_styleguide.html
      - type: GraphQLStyleGuide
        url: https://docs.gitlab.com/ee/development/api_graphql_styleguide.html
      - type: License
        url: https://creativecommons.org/licenses/by-sa/4.0/
      - type: Scope
        data:
          surfaces:
            - REST
            - GraphQL
          publisher: GitLab
          license: CC BY-SA 4.0
          status: living
  - aid: style-guides:kubernetes
    name: Kubernetes API Conventions
    description: >-
      The Kubernetes API conventions document, maintained by SIG
      Architecture. Defines the "kind / apiVersion" object envelope,
      spec/status separation, resourceVersion-based optimistic concurrency,
      list semantics, label and selector validation, and the patterns used
      by every Kubernetes-native API (and by extension every CRD).
    humanURL: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md
    baseURL: https://github.com/kubernetes/community/
    tags:
      - REST
      - Kubernetes
      - SIG Architecture
      - CRD
    properties:
      - type: StyleGuide
        url: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md
      - type: License
        url: https://github.com/kubernetes/community/blob/master/LICENSE
      - type: Scope
        data:
          surfaces:
            - REST
          publisher: Kubernetes / CNCF
          license: Apache-2.0 (repo)
          status: living
  - aid: style-guides:ietf-httpapi
    name: IETF HTTPAPI Working Group Drafts and RFCs
    description: >-
      The IETF httpapi Working Group is producing the cross-vendor
      vocabulary that style guides increasingly cite normatively. Includes
      RFC 9457 Problem Details for HTTP APIs, RFC 9652 Link-Template, RFC
      9745 Deprecation header, RFC 9727 api-catalog, plus active drafts on
      privacy and digest problem types and recently-expired drafts on
      Idempotency-Key and RateLimit header fields.
    humanURL: https://datatracker.ietf.org/wg/httpapi/documents/
    baseURL: https://datatracker.ietf.org/
    tags:
      - IETF
      - HTTP
      - REST
      - Problem Details
      - RateLimit
      - Deprecation
    properties:
      - type: StandardsTrack
        url: https://datatracker.ietf.org/wg/httpapi/documents/
      - type: RFC
        url: https://www.rfc-editor.org/rfc/rfc9457
        name: RFC 9457 Problem Details for HTTP APIs
      - type: RFC
        url: https://www.rfc-editor.org/rfc/rfc9652
        name: RFC 9652 The Link-Template HTTP Header Field
      - type: RFC
        url: https://www.rfc-editor.org/rfc/rfc9745
        name: RFC 9745 The Deprecation HTTP Response Header Field
      - type: RFC
        url: https://www.rfc-editor.org/rfc/rfc9727
        name: RFC 9727 api-catalog Well-Known URI
      - type: ExpiredDraft
        url: https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/
        name: draft-ietf-httpapi-idempotency-key-header
      - type: ExpiredDraft
        url: https://datatracker.ietf.org/doc/draft-ietf-httpapi-ratelimit-headers/
        name: draft-ietf-httpapi-ratelimit-headers
      - type: Scope
        data:
          surfaces:
            - HTTP
            - REST
          publisher: IETF
          license: IETF Trust (RFC) / public
          status: mixed (RFCs + active drafts + expired drafts)
common:
  - type: JSONSchema
    url: https://raw.githubusercontent.com/api-evangelist/style-guides/main/json-schema/style-guide-rule-schema.json
  - type: JSONLD
    url: https://raw.githubusercontent.com/api-evangelist/style-guides/main/json-ld/style-guides-context.jsonld
  - type: Vocabulary
    url: https://raw.githubusercontent.com/api-evangelist/style-guides/main/vocabulary/style-guides-vocabulary.yml
  - type: Examples
    url: https://github.com/api-evangelist/style-guides/tree/main/examples
  - type: DeveloperPortal
    url: https://developer.apievangelist.com/
  - type: Network
    url: https://developer.apievangelist.com/network/
  - type: GitHubOrganization
    url: https://github.com/api-evangelist
  - type: RelatedTopic
    url: https://github.com/api-evangelist/design-standards
  - type: RelatedTopic
    url: https://github.com/api-evangelist/rules
  - type: RelatedTopic
    url: https://github.com/api-evangelist/policies
maintainers:
  - FN: Kin Lane
    email: [email protected]
    X-github: kinlane