{
  "openapi": "3.0.1",
  "info": {
    "title": "EPiServer Content Definitions API",
    "version": "v3"
  },
  "paths": {
    "/api/episerver/v3.0/contenttypes": {
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "List all content types in the system.",
        "operationId": "ContentTypes_List",
        "parameters": [
          {
            "name": "top",
            "in": "query",
            "description": "The maximum number of returned content types.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "x-epi-continuation",
            "in": "header",
            "description": "A token identifying a position to continue from a previously paged response.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeSystemTypes",
            "in": "query",
            "description": "Defines whether system types should be included.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/contentType"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Creates a new content type in the system.",
        "operationId": "ContentTypes_Create",
        "requestBody": {
          "description": "The content type that should be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contentType"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contentType"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contentType"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/contenttypes/{id}": {
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Gets the content type at the current location.",
        "operationId": "ContentTypes_Get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The identifier of the content type.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contentType"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Updates the content type at the current location or create a new one if it doesn't already exist.",
        "operationId": "ContentTypes_CreateOrUpdate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The identifier of the content type.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "allowedDowngrades",
            "in": "query",
            "description": "Defines which types of downgrades that are allowed.",
            "schema": {
              "$ref": "#/components/schemas/versionComponent"
            }
          },
          {
            "name": "allowedUpgrades",
            "in": "query",
            "description": "Defines which types of upgrades that are allowed.",
            "schema": {
              "$ref": "#/components/schemas/versionComponent"
            }
          }
        ],
        "requestBody": {
          "description": "The content type that should be created or updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/contentType"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contentType"
                }
              }
            }
          },
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/contentType"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Deletes the content type at this location.",
        "operationId": "ContentTypes_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "The identifier of the content type.",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No content"
          },
          "404": {
            "description": "Not found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/editors": {
      "post": {
        "tags": [
          "EditorDefinitions"
        ],
        "summary": "Create new editor definition.",
        "operationId": "EditorDefinitions_Create",
        "requestBody": {
          "description": "The model that contains information for creating new editor definition.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/editorDefinition"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/editorDefinition"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "EditorDefinitions"
        ],
        "summary": "Updates an existing editor definition or creates a new one.",
        "operationId": "EditorDefinitions_CreateOrUpdate",
        "requestBody": {
          "description": "The model that contains information for the editor definition.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/editorDefinition"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/editorDefinition"
                }
              }
            }
          },
          "201": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/editorDefinition"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "EditorDefinitions"
        ],
        "summary": "List editor definitions.",
        "operationId": "EditorDefinitions_List",
        "parameters": [
          {
            "name": "typeFilter",
            "in": "query",
            "description": "Optional filter on DataType",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/editorDefinition"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/editors/{dataType}/{uiHint}": {
      "get": {
        "tags": [
          "EditorDefinitions"
        ],
        "summary": "Gets an editor definition identified by a type and an optional uihint.",
        "operationId": "EditorDefinitions_Get",
        "parameters": [
          {
            "name": "dataType",
            "in": "path",
            "description": "The type for an editor definition",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uiHint",
            "in": "path",
            "description": "The UIHint for an editor definition",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/editorDefinition"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "EditorDefinitions"
        ],
        "summary": "Deletes an editor definition identified by a type and an optional uihint.",
        "operationId": "EditorDefinitions_Delete",
        "parameters": [
          {
            "name": "dataType",
            "in": "path",
            "description": "The type for an editor definition",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "uiHint",
            "in": "path",
            "description": "The UIHint for an editor definition",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Success"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/contentmanifest": {
      "get": {
        "tags": [
          "Manifest"
        ],
        "summary": "Exports a manifest containing definitions from the application.",
        "operationId": "Manifest_Export",
        "parameters": [
          {
            "name": "includeSystemTypes",
            "in": "query",
            "description": "Defines whether system types should be included.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/manifest"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "Manifest"
        ],
        "summary": "Imports a manifest containing definitions from the application.",
        "operationId": "Manifest_Import",
        "parameters": [
          {
            "name": "allowedUpgrades",
            "in": "query",
            "description": "Defines which types of semantic upgrades are allowed.",
            "schema": {
              "$ref": "#/components/schemas/versionComponent"
            }
          },
          {
            "name": "continueOnError",
            "in": "query",
            "description": "Defines whether import of the next manifest section should continue if the previous fails.",
            "schema": {
              "type": "boolean",
              "default": true
            }
          },
          {
            "name": "force",
            "in": "query",
            "description": "Defines whether the import should proceed even though there are warnings or changes that are not allowed.",
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "requestBody": {
          "description": "The manifest to import.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/manifest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Ok",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/importResult"
                }
              }
            }
          },
          "400": {
            "description": "Bad request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/propertydatatypes": {
      "get": {
        "tags": [
          "PropertyDataTypes"
        ],
        "summary": "List all property data types available in the system.",
        "operationId": "PropertyDataTypes_List",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/propertyDataType"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/propertygroups/{name}": {
      "get": {
        "tags": [
          "PropertyGroups"
        ],
        "summary": "Gets a property group with the provided name.",
        "operationId": "PropertyGroups_Get",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The identifier of the property group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/propertyGroup"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PropertyGroups"
        ],
        "summary": "Deletes the property group with the provided name.",
        "operationId": "PropertyGroups_Delete",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the property group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "PropertyGroups"
        ],
        "summary": "Updates or creates a property group in the system with the provided name.",
        "operationId": "PropertyGroups_CreateOrUpdate",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "description": "The name of the property group.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The property group that should be updated.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/propertyGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/propertyGroup"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "200": {
            "description": "Ok"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/api/episerver/v3.0/propertygroups": {
      "get": {
        "tags": [
          "PropertyGroups"
        ],
        "summary": "List all property groups in the system.",
        "operationId": "PropertyGroups_List",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/propertyGroup"
                  }
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PropertyGroups"
        ],
        "summary": "Creates a new property group in the system.",
        "operationId": "PropertyGroups_Create",
        "requestBody": {
          "description": "The property group that should be created.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/propertyGroup"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/propertyGroup"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/problemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "contentType": {
        "required": [
          "baseType",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the content type.",
            "format": "uuid"
          },
          "name": {
            "maxLength": 50,
            "pattern": "[a-zA-Z][\\w]*",
            "type": "string",
            "description": "The name of the content type."
          },
          "baseType": {
            "type": "string",
            "description": "The base type for this content type."
          },
          "version": {
            "type": "string",
            "description": "The version of the content type.",
            "nullable": true,
            "example": "2.1.0"
          },
          "editSettings": {
            "$ref": "#/components/schemas/contentTypeEditSettings"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contentTypeProperty"
            },
            "description": "A list with the properties of this content type.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "A content type definition describes the format of content items."
      },
      "contentTypeEditSettings": {
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 50,
            "type": "string",
            "description": "The name that should be used when editing the content type.",
            "nullable": true
          },
          "description": {
            "maxLength": 255,
            "type": "string",
            "description": "The description that should be used when editing the content type.",
            "nullable": true
          },
          "available": {
            "type": "boolean",
            "description": "Determines if the content type is available when editing."
          },
          "sortOrder": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "The field order used for ordering the content types when editing.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Defines settings for content type that affects how it is displayed when edited."
      },
      "contentTypeProperty": {
        "required": [
          "dataType",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "pattern": "[a-zA-Z][\\w]*",
            "type": "string",
            "description": "The name of the property."
          },
          "dataType": {
            "maxLength": 255,
            "pattern": "[a-zA-Z][(\\w\\s*\\w?),\\.]*",
            "type": "string",
            "description": "The main data type name."
          },
          "branchSpecific": {
            "type": "boolean",
            "description": "Indicates if the property has specific values for each content branch or if values are shared between all branches."
          },
          "editSettings": {
            "$ref": "#/components/schemas/propertyEditSettings"
          },
          "validation": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/propertyValidationSettings"
            },
            "description": "The validation settings of the property.",
            "nullable": true,
            "readOnly": true
          },
          "itemType": {
            "maxLength": 255,
            "pattern": "[a-zA-Z][(\\w\\s*\\w?),\\.]*",
            "type": "string",
            "description": "The item type for cases when the 'dataType' is 'PropertyBlock'.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A content type property definition describes a property of a content items."
      },
      "editorDefinition": {
        "required": [
          "dataType"
        ],
        "type": "object",
        "properties": {
          "dataType": {
            "type": "string",
            "description": "The type for the editor definition"
          },
          "uiHint": {
            "type": "string",
            "description": "The UIHint for the editor definition",
            "nullable": true
          },
          "editor": {
            "type": "string",
            "description": "The editor for the editor definition",
            "nullable": true
          }
        },
        "additionalProperties": { },
        "description": "Serializable model class for an editor definition exposed in the EditorDefinition API"
      },
      "importLogMessage": {
        "type": "object",
        "properties": {
          "message": {
            "type": "string",
            "description": "Gets the message.",
            "nullable": true
          },
          "severity": {
            "$ref": "#/components/schemas/importLogMessageSeverity"
          }
        },
        "additionalProperties": false,
        "description": "Defines an import log message."
      },
      "importLogMessageSeverity": {
        "enum": [
          "information",
          "success",
          "warning",
          "error"
        ],
        "type": "string",
        "description": "Represent the severity level of an import log message."
      },
      "importResult": {
        "type": "object",
        "properties": {
          "hasErrors": {
            "type": "boolean",
            "description": "Returns true if any of the messages indicates an error.",
            "readOnly": true
          },
          "messages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/importLogMessage"
            },
            "description": "Gets or sets the messages describing the import result.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Defines the result of an import."
      },
      "manifest": {
        "type": "object",
        "properties": {
          "contentTypes": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/contentType"
            },
            "description": "Defines content types to be imported."
          },
          "propertyGroups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/propertyGroup"
            },
            "description": "Defines property groups to be imported."
          },
          "editorDefinitions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/editorDefinition"
            },
            "description": "Defines editor definitions to be imported."
          }
        },
        "additionalProperties": false,
        "description": "Defines a manifest containing sections with definitions."
      },
      "problemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": { }
      },
      "propertyDataType": {
        "required": [
          "dataType"
        ],
        "type": "object",
        "properties": {
          "dataType": {
            "maxLength": 255,
            "pattern": "[a-zA-Z][(\\w\\s*\\w?),\\.]*",
            "type": "string",
            "description": "The main data type name."
          },
          "itemType": {
            "maxLength": 255,
            "pattern": "[a-zA-Z][(\\w\\s*\\w?),\\.]*",
            "type": "string",
            "description": "The item type for cases when the 'dataType' is 'PropertyBlock'.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Defines the type of a content type property."
      },
      "propertyEditSettings": {
        "type": "object",
        "properties": {
          "visibility": {
            "$ref": "#/components/schemas/visibilityStatus"
          },
          "displayName": {
            "maxLength": 255,
            "type": "string",
            "description": "The name that should be used when editing the property.",
            "nullable": true
          },
          "groupName": {
            "maxLength": 100,
            "pattern": "[a-zA-Z][\\w]*",
            "type": "string",
            "description": "Name of the property group that this property should be displayed in.",
            "nullable": true
          },
          "sortOrder": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "The field order used for ordering the properties when editing.",
            "format": "int32"
          },
          "helpText": {
            "maxLength": 2000,
            "type": "string",
            "description": "The text that should be used as help when editing the property.",
            "nullable": true
          },
          "hint": {
            "maxLength": 255,
            "type": "string",
            "description": "A hint that will be used when resolving which editor that should be used when editing this property.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Defines settings for content type properties that affects how the property is displayed when edited."
      },
      "propertyGroup": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "pattern": "[a-zA-Z0-9][\\w]*",
            "type": "string",
            "description": "The name of the group."
          },
          "displayName": {
            "maxLength": 100,
            "type": "string",
            "description": "The display name of the group.",
            "nullable": true
          },
          "sortOrder": {
            "maximum": 10000,
            "minimum": 0,
            "type": "integer",
            "description": "The sort order.",
            "format": "int32"
          },
          "systemGroup": {
            "type": "boolean",
            "description": "Indicates if the group is managed by the system or not.",
            "nullable": true,
            "readOnly": true
          }
        },
        "additionalProperties": false,
        "description": "Defines a groups for content type properties."
      },
      "propertyValidationSettings": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the validation type that should be performed."
          },
          "severity": {
            "$ref": "#/components/schemas/validationErrorSeverity"
          },
          "errorMessage": {
            "type": "string",
            "description": "The error message to use for any validation error.",
            "nullable": true
          }
        },
        "additionalProperties": { },
        "description": "Defines validation settings for content type properties that are checked when content is saved."
      },
      "validationErrorSeverity": {
        "enum": [
          "none",
          "info",
          "warning",
          "error"
        ],
        "type": "string"
      },
      "versionComponent": {
        "enum": [
          "none",
          "patch",
          "minor",
          "major"
        ],
        "type": "string"
      },
      "visibilityStatus": {
        "enum": [
          "default",
          "hidden"
        ],
        "type": "string",
        "description": "Specifies the visibility status of a property in edit view."
      }
    }
  }
}