{
  "openapi": "3.0.4",
  "info": {
    "title": "Content Types API",
    "description": "Use the SitecoreAI Content Types API to manage content types. A content type is a template that defines the structure of content items. \n\n This REST API lets you: \n\n - Retrieve content types. \n\n - Create content types. \n\n - Update content types. \n\n - Retrieve the field source configuration for a content model, if one exists. \n\n# Authorization\nTo authorize your requests, use environment automation client credentials and generate a JSON Web Token (JWT).\n\nNote: To create client credentials, you must be an [Organization Admin](https://doc.sitecore.com/portal/en/developers/sitecore-cloud-portal/roles.html) or Organization Owner.\n\n## Create an automation client\n 1. In the Sitecore Cloud Portal, open the Deploy app.\n 2. Click **Credentials** > **Environment** > **Create credentials** > **Automation**.\n 3. Fill out the automation client details, then click **Create**.\n 4. Copy the client ID and the client secret because you won't be able to view them again in the Deploy app. You'll use them to request a JWT.\n\n## Request a JWT\n\nRun the following cURL command to request a JWT. Replace the placeholder values with your client ID and client secret.\n```curl\n  curl -X POST 'https://auth.sitecorecloud.io/oauth/token' \\\n  --header 'Content-Type: application/x-www-form-urlencoded' \\\n  --data-urlencode 'client_id={YOUR_CLIENT_ID}' \\\n  --data-urlencode 'client_secret={YOUR_CLIENT_SECRET}' \\\n  --data-urlencode 'grant_type=client_credentials' \\\n  --data-urlencode 'audience=https://api.sitecorecloud.io'\n```\n\nIn the response, the `access_token` key contains the JWT:\n\n```json\n  {\n    \"access_token\": \"{YOUR_JWT}\",\n    \"scope\": \"xmcloud.cm:admin\",\n    \"expires_in\": 86400,\n    \"token_type\": \"Bearer\"\n  }\n```\n\nThe JWT expires in 24 hours. If your requests unexpectedly return a response with status `401 Unauthorized`, request a new JWT by repeating this `POST` request.\n\nWe recommend that you cache the JWT for 24 hours to avoid repeating this `POST` request while the JWT is still valid.\n\n## Include the JWT in the request header\n\nYou can now start making REST API requests. You must include the JWT in the request header of every request. For example:\n  ```curl\n  curl -X GET '{YOUR_BASE_URL}/...' \\\n  -H 'Authorization: Bearer {YOUR_JWT}' \\\n  -H 'Accept: application/json'\n  ```",
    "contact": {
      "name": "Sitecore Corporation A/S"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://www.apache.org/licenses/LICENSE-2.0"
    },
    "version": "v1",
    "x-metadata": {
      "product": "SitecoreAI"
    }
  },
  "servers": [
    {
      "url": "https://edge-platform.sitecorecloud.io/authoring",
      "description": "Production server"
    }
  ],
  "paths": {
    "/api/v1/content-types/{modelId}": {
      "get": {
        "tags": [
          "Content Types"
        ],
        "summary": "Retrieve a content type",
        "description": "Retrieves details about a content type.",
        "operationId": "RetrieveContentModel",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentModel"
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "404": {
            "description": "Invalid model ID",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
                  "title": "Not Found",
                  "status": 404,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem."
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Content Types"
        ],
        "summary": "Update a content type",
        "description": "Update a content type.",
        "operationId": "PatchContentModel",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "requestBody": {
          "description": "Input data with details of the content type to be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentModel"
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Content Types"
        ],
        "summary": "Update a content type",
        "description": "Updates a whole content type. Existing fields that aren't provided in the request will be removed.",
        "operationId": "UpdateContentModel",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "requestBody": {
          "description": "Input data with details of the content type to be updated. Name is a required field.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateContentModelInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentModel"
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Content Types"
        ],
        "summary": "Delete a content type",
        "description": "Deletes a content type.",
        "operationId": "DeleteContentModel",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "responses": {
          "204": {
            "description": "Successful operation"
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/content-types/{modelId}/{fieldId}/source": {
      "get": {
        "tags": [
          "Content Types"
        ],
        "summary": "Get content type field source",
        "description": "Retrieves one page of source items for a specified field in a selected content type. Pass the response `continuationToken` in the `x-sc-continuation`\nheader to retrieve the next page. A field source can contain multiple Sitecore query segments, for example\n`query:$site/*[@@name='Data']|query:$sharedSites/*[@@name='Data']`. Example hand-off header:\n`x-sc-continuation: eyJzb3VyY2VJbmRleCI6MSwibmV4dEl0ZW0iOjI1fQ==`. Each returned item includes\n`sourceIndex`, the zero-based segment from which it originated.",
        "operationId": "RetrieveFieldSource",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "model-id"
          },
          {
            "name": "fieldId",
            "in": "path",
            "description": "The field identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "field-id"
          },
          {
            "name": "siteId",
            "in": "query",
            "description": "The site identifier.",
            "schema": {
              "type": "string"
            },
            "example": "site-id"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          },
          {
            "name": "x-sc-continuation",
            "in": "header",
            "description": "The continuation token returned by a previous response.",
            "schema": {
              "type": "string"
            },
            "example": "token-from-previous-response"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of source items to return.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/FieldSourceModelPaged"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
                  "title": "Not Found",
                  "status": 404,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem."
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/content-types": {
      "get": {
        "tags": [
          "Content Types"
        ],
        "summary": "List content types",
        "description": "Retrieves a paginated list of content types. Optionally filter results using a search query, or retrieve specific content types by supplying one or more id parameters.\nThe `search` and `id` parameters are mutually exclusive. When id is supplied, only the first 50 IDs are processed and pagination is disabled.",
        "operationId": "RetrieveContentTypes",
        "parameters": [
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          },
          {
            "name": "search",
            "in": "query",
            "description": "An optional search string used to filter content types by name or other indexed fields.",
            "schema": {
              "type": "string"
            },
            "example": "page"
          },
          {
            "name": "id",
            "in": "query",
            "description": "One or more content type IDs to retrieve. Specify multiple `id` query parameters to return specific content types.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          },
          {
            "name": "x-sc-continuation",
            "in": "header",
            "description": "An optional opaque token returned from a previous paginated call. It is ignored when id is supplied.",
            "schema": {
              "type": "string"
            },
            "example": "MXx8fDEwMA=="
          },
          {
            "name": "rootItemId",
            "in": "query",
            "description": "One or more root item IDs used to limit content type results to a specific content hierarchy. Results include content models found under any of the specified root items and their descendants. `rootItemId` is ignored when `id` is supplied.",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            },
            "example": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of items to return in a non-ID list response.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 10
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentModelsList"
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Content Types"
        ],
        "summary": "Create a content type",
        "description": "Creates a content type.",
        "operationId": "CreateContentModel",
        "parameters": [
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "requestBody": {
          "description": "Input data with details of the content type to be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContentModelInput"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContentModelInput"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/CreateContentModelInput"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ContentModel"
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/content-types/validation-rules": {
      "get": {
        "tags": [
          "Content Types"
        ],
        "summary": "List validation rules",
        "description": "Fetches the list of available validation rules.",
        "operationId": "RetrieveValidationRules",
        "parameters": [
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          }
        ],
        "responses": {
          "200": {
            "description": "Successful operation",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ValidationRule"
                  }
                }
              }
            }
          },
          "400": {
            "description": "One or more validation errors occurred",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/content-types/{modelId}/sources": {
      "post": {
        "tags": [
          "Content Types"
        ],
        "summary": "Get content type field sources",
        "description": "Retrieves source items for multiple fields in a specified content type. Returns the source items page and a continuation token for the next field page.\nPass a field response's `continuationToken` to the single-field GET endpoint 'Get content type field source' to continue that field.\nPass the top-level `continuationToken` to this endpoint to continue the requested field collection via the `x-sc-continuation` header.",
        "operationId": "RetrieveFieldSources",
        "parameters": [
          {
            "name": "modelId",
            "in": "path",
            "description": "The content type identifier.",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "model-id"
          },
          {
            "name": "siteId",
            "in": "query",
            "description": "The site identifier.",
            "schema": {
              "type": "string"
            },
            "example": "site-id"
          },
          {
            "name": "environmentId",
            "in": "query",
            "description": "The environment identifier. Defaults to \"main\". Currently only \"main\" is supported.",
            "schema": {
              "type": "string"
            },
            "example": "main"
          },
          {
            "name": "x-sc-continuation",
            "in": "header",
            "description": "The continuation token returned by a previous response.",
            "schema": {
              "type": "string"
            },
            "example": "token-from-previous-response"
          },
          {
            "name": "pageSize",
            "in": "query",
            "description": "The maximum number of fields to return.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 10
          },
          {
            "name": "sourcePageSize",
            "in": "query",
            "description": "The maximum number of source items to return per field.",
            "schema": {
              "type": "integer",
              "format": "int32"
            },
            "example": 10
          }
        ],
        "requestBody": {
          "description": "The field identifiers to resolve, in request order.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkFieldSourceInput"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/BulkFieldSourceInput"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/BulkFieldSourceInput"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BulkFieldSourcesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.1",
                  "title": "Bad Request",
                  "status": 400,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem.",
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00",
                  "errors": {
                    "sampleProperty": [
                      "The sampleProperty field is required"
                    ]
                  }
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7235#section-3.1",
                  "title": "Unauthorized",
                  "status": 401,
                  "traceId": "00-982607166a542147b435be3a847ddd71-fc75498eb9f09d48-00"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                },
                "example": {
                  "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
                  "title": "Not Found",
                  "status": 404,
                  "detail": "A detailed explanation, specific to this occurrence of the problem.",
                  "instance": "If available, a URI reference that identifies the specific occurrence of the problem."
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "BaseContentModel": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The content type identifier.",
            "nullable": true,
            "example": "d4e5f6a7-b8c9-0123-4567-89abcdef0123"
          },
          "name": {
            "type": "string",
            "description": "The content type name.",
            "nullable": true,
            "example": "Promo"
          },
          "system": {
            "$ref": "#/components/schemas/System"
          }
        },
        "additionalProperties": false,
        "description": "Simplified representation of a content type."
      },
      "BulkFieldSourceInput": {
        "required": [
          "fieldIds"
        ],
        "type": "object",
        "properties": {
          "fieldIds": {
            "minItems": 1,
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The content type field identifiers, in the order in which results should be returned.",
            "example": [
              "110D559F-DEA5-42EA-9C1C-8A5DF7E70EF",
              "220D559F-DEA5-42EA-9C1C-8A5DF7E70EF"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Represents a request to retrieve sources for multiple content type fields."
      },
      "BulkFieldSourceResponse": {
        "type": "object",
        "properties": {
          "fieldId": {
            "type": "string",
            "description": "The content type field identifier.",
            "nullable": true,
            "example": "field-id"
          },
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldSourceElementPaged"
            },
            "description": "The source items in the field's first page.",
            "nullable": true
          },
          "continuationToken": {
            "type": "string",
            "description": "The opaque token for retrieving the next page for this field, or null when complete.",
            "nullable": true,
            "example": "opaque-token-from-previous-response"
          }
        },
        "additionalProperties": false,
        "description": "Represents the source results for one field in a bulk source-resolution response."
      },
      "BulkFieldSourcesResponse": {
        "type": "object",
        "properties": {
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BulkFieldSourceResponse"
            },
            "description": "The source results for fields in the current page.",
            "nullable": true
          },
          "continuationToken": {
            "type": "string",
            "description": "The opaque token for retrieving the next field page, or null when complete.",
            "nullable": true,
            "example": "opaque-token-from-previous-response"
          }
        },
        "additionalProperties": false,
        "description": "Represents a paged bulk field-source response."
      },
      "ContentField": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "description": "Field identifier.",
            "example": "110D559F-DEA5-42EA-9C1C-8A5DF7E70EF"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "Field name.",
            "example": "Title"
          },
          "type": {
            "type": "string",
            "nullable": true,
            "description": "Field type.",
            "example": "Single-Line Text"
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "description": "Field display name.",
            "example": "Page Title"
          },
          "value": {
            "$ref": "#/components/schemas/IFieldValue"
          },
          "source": {
            "type": "string",
            "nullable": true,
            "description": "Source of the field.",
            "example": "/sitecore/content/Home"
          },
          "helperText": {
            "type": "string",
            "nullable": true,
            "description": "Help text for the field.",
            "example": "Enter a concise title for the page"
          },
          "versioning": {
            "$ref": "#/components/schemas/FieldVersioning"
          },
          "description": {
            "type": "string",
            "nullable": true,
            "description": "The description of the template field. This value is language specific.",
            "example": "Main title shown in page header"
          },
          "helpLink": {
            "type": "string",
            "nullable": true,
            "description": "The help link of the template field.",
            "example": "https://doc.sitecore.com/field-guidance/title"
          },
          "sortOrder": {
            "type": "integer",
            "format": "int32",
            "nullable": true,
            "description": "The sort order.",
            "example": 100
          },
          "inherited": {
            "type": "boolean",
            "description": "Whether this field is inherited from a base template.",
            "example": true
          },
          "baseContentModel": {
            "type": "string",
            "format": "uuid",
            "nullable": true,
            "description": "The identifier of the base template this field is inherited from.",
            "example": "76036f5e-cbce-46d1-af0a-4143f9b557aa"
          },
          "settings": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "description": "The settings for the field."
          },
          "validationRules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true,
            "description": "The validation rules assigned to the field as a list of validation rule item IDs",
            "example": [
              "{11111111-1111-1111-1111-111111111111}",
              "{22222222-2222-2222-2222-222222222222}"
            ]
          }
        },
        "additionalProperties": false
      },
      "ContentModel": {
        "type": "object",
        "properties": {
          "description": {
            "type": "string",
            "description": "The content type description.",
            "nullable": true,
            "example": "Promo content type"
          },
          "baseContentTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BaseContentModel"
            },
            "description": "The base content types this content type inherits from.",
            "nullable": true
          },
          "fieldGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldGroup"
            },
            "description": "The content type field groups.",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "The content type identifier.",
            "nullable": true,
            "example": "d4e5f6a7-b8c9-0123-4567-89abcdef0123"
          },
          "name": {
            "type": "string",
            "description": "The content type name.",
            "nullable": true,
            "example": "Promo"
          },
          "system": {
            "$ref": "#/components/schemas/System"
          }
        },
        "additionalProperties": false,
        "description": "content type"
      },
      "ContentModelsList": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "Total count of content types in current request",
            "format": "int32",
            "example": 10
          },
          "next": {
            "type": "string",
            "description": "Continuation token",
            "nullable": true,
            "example": "token-from-previous-response"
          },
          "models": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentModel"
            },
            "description": "List of content types",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Response for the content type List"
      },
      "CreateContentModelFieldGroupInput": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "The field group name. Letters, numbers, spaces, underscores, and hyphens only.",
            "nullable": true,
            "example": "Data"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The numeric position of the field group within the content model.",
            "format": "int32",
            "nullable": true,
            "example": 100
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateContentModelFieldInput"
            },
            "description": "Fields in the group",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Content type field group input"
      },
      "CreateContentModelFieldInput": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "The field name. Letters, numbers, spaces, underscores, and hyphens only.",
            "example": "PromoText"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of field attributes",
            "nullable": true
          },
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "The field type.",
            "example": "Single-Line Text"
          },
          "displayName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The field display name.",
            "nullable": true,
            "example": "Promo text"
          },
          "helperText": {
            "type": "string",
            "description": "Help text for the field.",
            "nullable": true,
            "example": "Enter helper text for display"
          },
          "value": {
            "description": "Default value. Accepts object or string.",
            "nullable": true,
            "example": {
              "title": "sample title"
            },
            "type": "object"
          },
          "source": {
            "type": "string",
            "description": "The source of the field",
            "nullable": true,
            "example": "/sitecore/content/Tenant/Site/Home"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order.",
            "format": "int32",
            "nullable": true,
            "example": 100
          },
          "validationRules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The validation rules assigned to the field as a list of validation rule IDs.",
            "nullable": true,
            "example": [
              "59D4EE10-627C-4FD3-A964-61A88B092CBC",
              "A76C1092-EE2E-4021-B9EE-21E541CDA1D7"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Content type field input"
      },
      "CreateContentModelInput": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "Content type name.\nLetters, numbers, spaces, underscores, and hyphens only.",
            "example": "Promo"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Content type description.",
            "nullable": true,
            "example": "Promo content type"
          },
          "parentId": {
            "type": "string",
            "description": "The identifier of the parent for this content type.",
            "nullable": true,
            "example": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
          },
          "baseContentTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The base content types from which this content model inherits fields and properties.",
            "nullable": true,
            "example": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          },
          "fieldGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CreateContentModelFieldGroupInput"
            },
            "description": "The list of field groups.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Content type input"
      },
      "FieldGroup": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Field group identifier.",
            "nullable": true,
            "example": "223cba1d-4714-49b8-8d9a-b0dc1bed9cb3"
          },
          "name": {
            "type": "string",
            "description": "The field group name.",
            "nullable": true,
            "example": "PromoText"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The numeric position of the field group within the content model. Lower values appear first.",
            "format": "int32",
            "nullable": true,
            "example": 1
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ContentField"
            },
            "description": "The content type fields.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a group of fields"
      },
      "FieldSourceElementPaged": {
        "type": "object",
        "properties": {
          "sourceIndex": {
            "type": "integer",
            "description": "The zero-based source segment index from which this item originated.",
            "format": "int32",
            "example": 1
          },
          "id": {
            "type": "string",
            "description": "The id of the field source",
            "nullable": true,
            "example": "2492bac4-da07-4c86-87f0-9873d40e2276"
          },
          "name": {
            "type": "string",
            "description": "The name of the field source",
            "nullable": true,
            "example": "SourceItem1"
          },
          "version": {
            "type": "string",
            "description": "The version of the field source",
            "nullable": true,
            "example": "1"
          },
          "displayName": {
            "type": "string",
            "description": "The display name of the field source",
            "nullable": true,
            "example": "Source Item 1"
          },
          "locale": {
            "type": "string",
            "description": "The locale of the field source",
            "nullable": true,
            "example": "en"
          }
        },
        "additionalProperties": false,
        "description": "A field source item returned by the v2 source-resolution API."
      },
      "FieldSourceModelPaged": {
        "type": "object",
        "properties": {
          "data": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FieldSourceElementPaged"
            },
            "description": "The source items in the current page.",
            "nullable": true
          },
          "continuationToken": {
            "type": "string",
            "description": "The opaque token for retrieving the next page, or null when complete.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a paged field source returned by the v2 source-resolution API."
      },
      "FieldVersioning": {
        "enum": [
          "VERSIONED",
          "UNVERSIONED",
          "SHARED",
          "UNDEFINED"
        ],
        "type": "string",
        "description": "The versioning of the template field."
      },
      "IFieldValue": {
        "type": "object",
        "properties": {
          "text": {
            "type": "string",
            "nullable": true,
            "description": "The text value.",
            "example": "Sample content"
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "description": "The file display name.",
            "example": "Brochure"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "The file  name.",
            "example": "brochure.pdf"
          },
          "extension": {
            "type": "string",
            "nullable": true,
            "description": "The file  extension.",
            "example": "pdf"
          },
          "size": {
            "type": "integer",
            "format": "int64",
            "nullable": true,
            "description": "The file size in bytes.",
            "example": 120345
          },
          "id": {
            "type": "string",
            "nullable": true,
            "description": "The file item identifier.",
            "example": "4B9A6BAE-6B8D-4D72-BE0E-0BA769A8C24"
          },
          "src": {
            "type": "string",
            "nullable": true,
            "description": "The image source URL.",
            "example": "https://xmc.sitecore-staging.cloud/-/media/Project/sites/sample/image.jpeg"
          },
          "alt": {
            "type": "string",
            "nullable": true,
            "description": "The image alt text.",
            "example": "Sample image"
          },
          "width": {
            "type": "string",
            "nullable": true,
            "description": "The image width.",
            "example": "800"
          },
          "height": {
            "type": "string",
            "nullable": true,
            "description": "The image height.",
            "example": "600"
          },
          "mediaId": {
            "type": "string",
            "nullable": true,
            "description": "The media item identifier.",
            "example": "8B53C9A7-2E80-4B35-B61D-33D7D8D4E24B"
          },
          "href": {
            "type": "string",
            "nullable": true,
            "description": "The link URL.",
            "example": "https://xmc.sitecore-staging.cloud/en/sitecore/shell/sites/sample/Home/About"
          },
          "title": {
            "type": "string",
            "nullable": true,
            "description": "The link title.",
            "example": "About"
          },
          "type": {
            "type": "string",
            "nullable": true,
            "description": "The link type.",
            "example": "internal"
          },
          "attributes": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "nullable": true,
            "description": "Additional link attributes.",
            "example": {
              "target": "_blank",
              "class": "my-css-class"
            }
          },
          "references": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ReferenceElement"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "description": "The type of the error response entity.",
            "nullable": true
          },
          "title": {
            "type": "string",
            "description": "The title of the error response entity.",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "description": "The response status code.",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "description": "A detailed explanation, specific to this occurrence of the problem.",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "description": "If available, a URI reference that identifies the specific occurrence of the problem.",
            "nullable": true
          }
        },
        "additionalProperties": {
          "description": "Any additional optional properties that describe the error(s)."
        }
      },
      "ReferenceElement": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "nullable": true,
            "description": "The referenced item id",
            "example": "{110D559A-CA9C-4B4C-8F31-DF8A0E6F447D}"
          },
          "name": {
            "type": "string",
            "nullable": true,
            "description": "The referenced item name",
            "example": "home"
          },
          "displayName": {
            "type": "string",
            "nullable": true,
            "description": "The referenced item display name",
            "example": "Home"
          }
        },
        "additionalProperties": false,
        "description": "The referenced items."
      },
      "System": {
        "type": "object",
        "properties": {
          "created": {
            "type": "string",
            "nullable": true,
            "description": "The creation date.",
            "example": "2024-01-01T12:00:00Z"
          },
          "createdBy": {
            "type": "string",
            "nullable": true,
            "description": "The user who created this resource.",
            "example": "sitecore\\admin"
          },
          "updated": {
            "type": "string",
            "nullable": true,
            "description": "The last update date.",
            "example": "2024-01-02T12:00:00Z"
          },
          "updatedBy": {
            "type": "string",
            "nullable": true,
            "description": "The author of the last update.",
            "example": "sitecore\\admin"
          }
        },
        "additionalProperties": false
      },
      "UpdateContentModelFieldGroupInput": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Field group identifier. If present, the existing field group will be used. If not, a new field group will be created based on Name.",
            "nullable": true,
            "example": "db765e2c-d745-462c-aa7b-e6cb11c5da8f"
          },
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "The field group name. The name of new field group to create if Id is not provided.\nLetters, numbers, spaces, underscores, and hyphens only.",
            "nullable": true,
            "example": "Data"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The numeric position of the field group within the content model.",
            "format": "int32",
            "nullable": true,
            "example": 100
          },
          "fields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateContentModelFieldInput"
            },
            "description": "Fields in the group",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Content type field group input"
      },
      "UpdateContentModelFieldInput": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The field identifier.",
            "nullable": true,
            "example": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
          },
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "The field name.\nLetters, numbers, spaces, underscores, and hyphens only.",
            "nullable": true,
            "example": "PromoText"
          },
          "shared": {
            "type": "boolean",
            "description": "Indicates whether the field is shared.",
            "nullable": true
          },
          "type": {
            "minLength": 1,
            "type": "string",
            "description": "The field type.",
            "example": "Single-Line Text"
          },
          "displayName": {
            "maxLength": 50,
            "minLength": 0,
            "type": "string",
            "description": "The field display name.",
            "nullable": true,
            "example": "Promo text"
          },
          "helperText": {
            "type": "string",
            "description": "Help text for the field.",
            "nullable": true,
            "example": "Enter helper text for display"
          },
          "value": {
            "description": "Default value. Accepts object or string.",
            "nullable": true,
            "example": {
              "title": "sample title"
            },
            "type": "object"
          },
          "source": {
            "type": "string",
            "description": "The source of the field.",
            "nullable": true,
            "example": "/sitecore/content/Tenant/Site/Home"
          },
          "sortOrder": {
            "type": "integer",
            "description": "The sort order.",
            "format": "int32",
            "nullable": true,
            "example": 100
          },
          "validationRules": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The validation rules assigned to the field as a list of validation rule IDs.",
            "nullable": true,
            "example": [
              "59D4EE10-627C-4FD3-A964-61A88B092CBC",
              "A76C1092-EE2E-4021-B9EE-21E541CDA1D7"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Content type field input"
      },
      "UpdateContentModelInput": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 50,
            "minLength": 0,
            "pattern": "^(?![\\s-])[a-zA-Z0-9_\\s-]*(?<!\\s)$",
            "type": "string",
            "description": "Content type name.\nLetters, numbers, spaces, underscores, and hyphens only.",
            "nullable": true,
            "example": "Promo"
          },
          "description": {
            "maxLength": 100,
            "minLength": 0,
            "type": "string",
            "description": "Content type description.",
            "nullable": true,
            "example": "Promo content type"
          },
          "fieldGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/UpdateContentModelFieldGroupInput"
            },
            "description": "The list of field groups.",
            "nullable": true
          },
          "baseContentTypes": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The base content types from which this content model inherits fields and properties.",
            "nullable": true,
            "example": [
              "497f6eca-6276-4993-bfeb-53cbbbba6f08"
            ]
          }
        },
        "additionalProperties": false,
        "description": "Update content type input."
      },
      "ValidationRule": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Rule identifier.",
            "nullable": true,
            "example": "59d4ee10-627c-4fd3-a964-61a88b092cbc"
          },
          "name": {
            "type": "string",
            "description": "Rule name.",
            "nullable": true,
            "example": "Max Length"
          },
          "displayName": {
            "type": "string",
            "description": "Rule display name.",
            "nullable": true,
            "example": "Max Length"
          },
          "scope": {
            "type": "string",
            "description": "Rule scope. Currently supports `field` scope for field-level validation.",
            "nullable": true,
            "example": "field"
          }
        },
        "additionalProperties": false,
        "description": "Validation rule."
      }
    },
    "securitySchemes": {
      "Bearer": {
        "type": "http",
        "description": "Enter your bearer token in the text input below.",
        "scheme": "Bearer"
      }
    }
  },
  "security": [
    {
      "Bearer": []
    }
  ],
  "tags": [
    {
      "name": "Content Types",
      "description": "The Content Types API lets you manage content types."
    }
  ]
}