diff --git a/api-ref/source/flavors.inc b/api-ref/source/flavors.inc
index 0216ce29838b..52577667ec01 100644
--- a/api-ref/source/flavors.inc
+++ b/api-ref/source/flavors.inc
@@ -60,6 +60,15 @@ Creates a flavor.
 Creating a flavor is typically only available to administrators of a
 cloud because this has implications for scheduling efficiently in the cloud.
 
+.. note::
+   Flavors with special characters in the flavor ID, except the hyphen '-',
+   underscore '_', spaces and dots '.', are not permitted.
+
+   Flavor IDs are meant to be UUIDs. Serialized strings separated/grouped by "-"
+   represent the default flavor ID or UUID. eg: 01cc74d8-4816-4bef-835b-e36ff188c406.
+
+   Only for backward compatibility, an integer as a flavor ID is permitted.
+
 Normal response codes: 200
 
 Error response codes: badRequest(400), unauthorized(401), forbidden(403),
diff --git a/api-ref/source/parameters.yaml b/api-ref/source/parameters.yaml
index ad5e72fb9bcc..aba8185a4b76 100644
--- a/api-ref/source/parameters.yaml
+++ b/api-ref/source/parameters.yaml
@@ -3129,8 +3129,9 @@ flavor_id_body_2_46:
   max_version: 2.46
 flavor_id_body_create:
   description: |
-    The ID of the flavor. While people often make this look like an int, this
-    is really a string. If not provided, this defaults to a uuid.
+    Only alphanumeric characters with hyphen '-', underscore '_', spaces
+    and dots '.' are permitted. If an ID is not provided, then a default UUID
+    will be assigned.
   in: body
   required: false
   type: string