Each tag should be documented with a short statement explaining its intent.

Noncompliant Code Example (OpenAPI 3)

openapi: "3.0.1"
info:
  version: 1.0.0
  title: Swagger Petstore
tags:
- name: unused-tag      # There should be no unreferenced tag
- name: some-tag        # Tags should have a description
paths:
  /pets:
    get:
      tags:
      - some-tag
      - other-tag       # All tags should be documented
      responses: {}

Compliant Solution (OpenAPI 3)

openapi: "3.0.1"
info:
  version: 1.0.0
  title: Swagger Petstore
tags:
- name: some-tag
  description: a tag referenced in the operations
- name: other-tag
  description: another tag referenced in the operations
paths:
  /pets:
    get:
      tags:
      - some-tag
      - other-tag
      responses: {}