{
  "openapi": "3.0.3",
  "info": {
    "title": "SWEET EXAMPLES",
    "description": "Примеры описаний http-сервисов",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "http://localhost:80/hs"
    }
  ],
  "paths": {
    "/Bodies/Objects": {
      "description": "Objects",
      "put": {
        "tags": [
          "Bodies"
        ],
        "summary": "Тело запроса с различными контентами",
        "description": "Пример необязательного тела запроса без представления, но с различными типами контента",
        "operationId": "Bodies_Objects_Put",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "integer": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "string": {
                    "type": "string"
                  }
                }
              }
            },
            "application/xml": {
              "schema": {
                "type": "object",
                "properties": {
                  "bool": {
                    "type": "boolean"
                  },
                  "integer": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "string": {
                    "type": "string"
                  }
                },
                "xml": {
                  "name": "data"
                }
              }
            },
            "text/plain": {
              "schema": {
                "type": "number",
                "format": "double"
              },
              "examples": {
                "number": {
                  "value": 3.14
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Bodies"
        ],
        "summary": "Обязательного тела запроса",
        "description": "Пример обязательного тела запроса",
        "operationId": "Bodies_Objects_Post",
        "requestBody": {
          "description": "Представление тела запроса",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "integer": {
                    "type": "integer",
                    "format": "int32"
                  },
                  "string": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/Image": {
      "description": "Image",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Изображение",
        "description": "Варианты описания для изображения",
        "operationId": "ContentTypes_Image_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/JSON": {
      "description": "JSON",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "json-объект",
        "description": "Варианты описания для возвращения JSON-значения",
        "operationId": "ContentTypes_JSON_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "array": {
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      }
                    },
                    "boolean": {
                      "type": "boolean"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    },
                    "datetime": {
                      "type": "string",
                      "format": "datetime"
                    },
                    "double": {
                      "type": "number",
                      "format": "double"
                    },
                    "enum": {
                      "type": "string",
                      "enum": [
                        "Один",
                        "Два",
                        "Три"
                      ]
                    },
                    "integer": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "map": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "format": "double"
                      },
                      "example": {
                        "1": 1
                      }
                    },
                    "string": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/Other": {
      "description": "Other",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "HTML-текст",
        "description": "Варианты описания для возвращения HTML-текста",
        "operationId": "ContentTypes_Other_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "text/html": {
                "schema": {
                  "type": "string",
                  "example": "<head></head>"
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "UrlEncoded",
        "description": "Варианты описания отправки данных форм",
        "operationId": "ContentTypes_Other_Post",
        "requestBody": {
          "content": {
            "application/x-www-form-urlencoded": {
              "schema": {
                "type": "string"
              },
              "examples": {
                "string": {
                  "value": "login=smith&password=12345678"
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/Stream": {
      "description": "Stream",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Двоичные данные",
        "description": "Варианты описания для возвращения двоичных данных файла",
        "operationId": "ContentTypes_Stream_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/Text": {
      "description": "Text",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Текст",
        "description": "Пример описания с текстовым ответом",
        "operationId": "ContentTypes_Text_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "example": "Произвольный текст"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/ContentTypes/XML": {
      "description": "XML",
      "get": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "XML без объектов",
        "description": "Пример описания XML-файла структуры данных http-сервиса (без использования ссылок на объекты).",
        "operationId": "ContentTypes_XML_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "HTTPService": {
                      "type": "object",
                      "properties": {
                        "ChildObjects": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "URLTemplate": {
                                "type": "object",
                                "properties": {
                                  "ChildObjects": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "Method": {
                                          "type": "object",
                                          "properties": {
                                            "Properties": {
                                              "type": "object",
                                              "properties": {
                                                "Comment": {
                                                  "type": "string",
                                                  "example": ""
                                                },
                                                "HTTPMethod": {
                                                  "type": "string",
                                                  "example": "GET"
                                                },
                                                "Handler": {
                                                  "type": "string",
                                                  "example": "RequestGET"
                                                },
                                                "Name": {
                                                  "type": "string",
                                                  "example": "GET"
                                                },
                                                "Synonym": {
                                                  "type": "array",
                                                  "items": {
                                                    "type": "object",
                                                    "properties": {
                                                      "item": {
                                                        "type": "object",
                                                        "properties": {
                                                          "content": {
                                                            "type": "string",
                                                            "example": "Request",
                                                            "xml": {
                                                              "prefix": "v8"
                                                            }
                                                          },
                                                          "lang": {
                                                            "type": "string",
                                                            "example": "ru",
                                                            "xml": {
                                                              "prefix": "v8"
                                                            }
                                                          }
                                                        },
                                                        "xml": {
                                                          "namespace": "http://v8.1c.ru/8.1/data/core",
                                                          "prefix": "v8"
                                                        }
                                                      }
                                                    }
                                                  }
                                                }
                                              }
                                            },
                                            "uuid": {
                                              "type": "string",
                                              "example": "60334c2a-07fb-4c2f-910e-9a646b5a1422",
                                              "xml": {
                                                "attribute": true
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  },
                                  "Properties": {
                                    "type": "object",
                                    "properties": {
                                      "Comment": {
                                        "type": "string",
                                        "example": ""
                                      },
                                      "Name": {
                                        "type": "string",
                                        "example": "Request"
                                      },
                                      "Synonym": {
                                        "type": "array",
                                        "items": {
                                          "type": "object",
                                          "properties": {
                                            "item": {
                                              "type": "object",
                                              "properties": {
                                                "content": {
                                                  "type": "string",
                                                  "example": "Request",
                                                  "xml": {
                                                    "prefix": "v8"
                                                  }
                                                },
                                                "lang": {
                                                  "type": "string",
                                                  "example": "ru",
                                                  "xml": {
                                                    "prefix": "v8"
                                                  }
                                                }
                                              },
                                              "xml": {
                                                "namespace": "http://v8.1c.ru/8.1/data/core",
                                                "prefix": "v8"
                                              }
                                            }
                                          }
                                        }
                                      },
                                      "Template": {
                                        "type": "string",
                                        "example": "/Request"
                                      }
                                    }
                                  },
                                  "uuid": {
                                    "type": "string",
                                    "example": "6e09d60e-314b-4ea6-b09a-2e82d46bc133",
                                    "xml": {
                                      "attribute": true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "Properties": {
                          "type": "object",
                          "properties": {
                            "Comment": {
                              "type": "string",
                              "example": ""
                            },
                            "Name": {
                              "type": "string",
                              "example": "Services"
                            },
                            "ReuseSessions": {
                              "type": "string",
                              "enum": [
                                "AutoUse",
                                "Use",
                                "DontUse"
                              ],
                              "default": "AutoUse"
                            },
                            "RootURL": {
                              "type": "string",
                              "example": "Services"
                            },
                            "SessionMaxAge": {
                              "type": "integer",
                              "format": "int32",
                              "default": "20"
                            },
                            "Synonym": {
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "item": {
                                    "type": "object",
                                    "properties": {
                                      "content": {
                                        "type": "string",
                                        "example": "Services",
                                        "xml": {
                                          "prefix": "v8"
                                        }
                                      },
                                      "lang": {
                                        "type": "string",
                                        "example": "ru",
                                        "xml": {
                                          "prefix": "v8"
                                        }
                                      }
                                    },
                                    "xml": {
                                      "namespace": "http://v8.1c.ru/8.1/data/core",
                                      "prefix": "v8"
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "uuid": {
                          "type": "string",
                          "example": "262df146-a2c9-4a27-a003-3bea8a35f3b6",
                          "xml": {
                            "attribute": true
                          }
                        }
                      }
                    }
                  },
                  "xml": {
                    "name": "MetaDataObject"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "XML с объектами",
        "description": "Пример описания XML-файла структуры данных http-сервиса (с использованием объектов).",
        "operationId": "ContentTypes_XML_Post",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "HTTPService": {
                      "type": "object",
                      "properties": {
                        "ChildObjects": {
                          "type": "array",
                          "items": {
                            "type": "object",
                            "properties": {
                              "URLTemplate": {
                                "type": "object",
                                "properties": {
                                  "ChildObjects": {
                                    "type": "array",
                                    "items": {
                                      "type": "object",
                                      "properties": {
                                        "Method": {
                                          "type": "object",
                                          "properties": {
                                            "Properties": {
                                              "$ref": "#/components/schemas/MethodProperties"
                                            },
                                            "uuid": {
                                              "type": "string",
                                              "example": "60334c2a-07fb-4c2f-910e-9a646b5a1422",
                                              "xml": {
                                                "attribute": true
                                              }
                                            }
                                          }
                                        }
                                      }
                                    }
                                  },
                                  "Properties": {
                                    "$ref": "#/components/schemas/URLTemplateProperties"
                                  },
                                  "uuid": {
                                    "type": "string",
                                    "example": "6e09d60e-314b-4ea6-b09a-2e82d46bc133",
                                    "xml": {
                                      "attribute": true
                                    }
                                  }
                                }
                              }
                            }
                          }
                        },
                        "Properties": {
                          "$ref": "#/components/schemas/HTTPServiceProperties"
                        },
                        "uuid": {
                          "type": "string",
                          "example": "262df146-a2c9-4a27-a003-3bea8a35f3b6",
                          "xml": {
                            "attribute": true
                          }
                        }
                      }
                    }
                  },
                  "xml": {
                    "name": "MetaDataObject"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "delete": {
        "tags": [
          "ContentTypes"
        ],
        "summary": "Основные правила при работе с XML",
        "description": "При описании XML представления нужно иметь в виду следующее:\n- Если корневой узел не является типом \"Объект\", то ему необходимо указывать имя, при помощи <имя =\"\">\n- Пространство имен и префикс указывается для каждой структуры/соответствия, где оно необходимо\n- Для описания атрибута элемента после имени свойства необходимо указать \"(Атрибут)\"",
        "operationId": "ContentTypes_XML_Delete",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "description": "Идентификатор сотрудника",
            "required": true,
            "explode": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Успешно",
            "content": {
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "age": {
                      "type": "integer",
                      "format": "int32",
                      "example": 40
                    },
                    "history": {
                      "type": "object",
                      "description": "история сотрудника в компании",
                      "additionalProperties": {
                        "type": "string"
                      },
                      "example": {
                        "01.01.1970": "Прием на работу"
                      }
                    },
                    "id": {
                      "type": "number",
                      "format": "double",
                      "example": 1,
                      "xml": {
                        "attribute": true
                      }
                    },
                    "job": {
                      "type": "object",
                      "properties": {
                        "currency": {
                          "type": "string",
                          "enum": [
                            "USD",
                            "EUR"
                          ],
                          "xml": {
                            "prefix": "contract"
                          }
                        },
                        "position": {
                          "type": "string",
                          "example": "Менеджер по продажам",
                          "xml": {
                            "prefix": "contract"
                          }
                        },
                        "salary": {
                          "type": "number",
                          "format": "double",
                          "example": 1000,
                          "xml": {
                            "prefix": "contract"
                          }
                        }
                      },
                      "xml": {
                        "namespace": "http://example.com/jobs",
                        "prefix": "contract"
                      }
                    },
                    "name": {
                      "type": "object",
                      "properties": {
                        "first": {
                          "type": "string",
                          "example": "John",
                          "xml": {
                            "prefix": "fl"
                          }
                        },
                        "last": {
                          "type": "string",
                          "example": "Doe",
                          "xml": {
                            "prefix": "fl"
                          }
                        }
                      },
                      "xml": {
                        "namespace": "http://example.com/names",
                        "prefix": "fl"
                      }
                    },
                    "sex": {
                      "type": "string",
                      "enum": [
                        "Male",
                        "Female"
                      ]
                    }
                  },
                  "xml": {
                    "name": "Employee"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/Descriptions/Variants": {
      "description": "Variants",
      "get": {
        "tags": [
          "Descriptions"
        ],
        "summary": "Варианты",
        "description": "## Изображение:\n![](https://1c-swagger.ru/images/logo_big.svg \"Логотип sweet\")\n## Список:\n- _Один_\n- **Два**\n- <u>Три</u>\n## Таблица:\n|Столбец 1|Столбец 2|Столбец 3|\n|-|-|-|\n|Запись|Запись|Запись|\n## Чекбоксы:\n- [x] Отмеченный пункт\n- [ ] Неотмеченный пункт",
        "operationId": "Descriptions_Variants_Get",
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      }
    },
    "/RequestParams/Header": {
      "description": "Header",
      "get": {
        "tags": [
          "RequestParams"
        ],
        "summary": "Пример описания заголовков",
        "description": "Пример возможных вариантов описания заголовков",
        "operationId": "RequestParams_Header_Get",
        "parameters": [
          {
            "name": "X-Header1",
            "in": "header",
            "description": "Тут пишется необязательное, но желательное описание параметров",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "Y-Header2",
            "in": "header",
            "description": "Заголовок со значением по умолчанию",
            "required": false,
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "default": "1"
            }
          },
          {
            "name": "U-Header3",
            "in": "header",
            "description": "Этот заголовок обязателен для заполнения",
            "required": true,
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Значения переданных заголовков",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "oneOf": [
                      {
                        "type": "number",
                        "format": "double"
                      },
                      {
                        "type": "string"
                      },
                      {
                        "type": "boolean"
                      }
                    ],
                    "nullable": true
                  },
                  "example": {
                    "X-Header2": 1
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/RequestParams/Path/{path1}/{path2}/{path3}/{path4}": {
      "description": "Path",
      "get": {
        "tags": [
          "RequestParams"
        ],
        "summary": "Пример описания параметров URL",
        "description": "Пример возможных вариантов описания параметров URL",
        "operationId": "RequestParams_Path_Get",
        "parameters": [
          {
            "name": "path1",
            "in": "path",
            "description": "Тут пишется необязательное, но желательное описание параметра",
            "required": true,
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "path2",
            "in": "path",
            "required": true,
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double"
            }
          },
          {
            "name": "path3",
            "in": "path",
            "description": "Описание\nпараметра\nможет быть\nмногострочным",
            "required": true,
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "path4",
            "in": "path",
            "required": true,
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Значения переданных параметров URL",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "path1": {
                      "type": "string"
                    },
                    "path2": {
                      "type": "number",
                      "format": "double"
                    },
                    "path3": {
                      "type": "boolean"
                    },
                    "path4": {
                      "type": "string",
                      "format": "date"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/RequestParams/Query": {
      "description": "Query",
      "get": {
        "tags": [
          "RequestParams"
        ],
        "summary": "Пример описания параметров запроса",
        "description": "Пример возможных вариантов описания параметров запроса",
        "operationId": "RequestParams_Query_Get",
        "parameters": [
          {
            "name": "query1",
            "in": "query",
            "description": "Тут пишется необязательное, но желательное описание параметров",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "query2",
            "in": "query",
            "description": "Параметр со значением по умолчанию",
            "required": false,
            "explode": true,
            "schema": {
              "type": "number",
              "format": "double",
              "default": "1"
            }
          },
          {
            "name": "query3",
            "in": "query",
            "description": "Этот параметр обязателен для заполнения",
            "required": true,
            "explode": true,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "query4",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "query5",
            "in": "query",
            "required": false,
            "explode": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Значения переданных параметров запроса",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "query1": {
                      "type": "string",
                      "nullable": true
                    },
                    "query2": {
                      "type": "number",
                      "format": "double",
                      "nullable": true
                    },
                    "query3": {
                      "type": "boolean"
                    },
                    "query4": {
                      "type": "string",
                      "format": "date",
                      "nullable": true
                    },
                    "query5": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "nullable": true
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/Responses/Variants": {
      "description": "Variants",
      "get": {
        "tags": [
          "Responses"
        ],
        "summary": "Возвращаемые ответы",
        "description": "Несколько видов возвращаемых значений:\n- 200 - пустой ответ\n- 201 - текстовый ответ с заголовком\n- 202 - ответ со строковым значением\n- 500 - ответ с json-объектом",
        "operationId": "Responses_Variants_Get",
        "responses": {
          "200": {
            "description": "Успешно"
          },
          "201": {
            "description": "Некоторое представление ответа",
            "headers": {
              "X-Header": {
                "description": "Произвольный заголовок ответа",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "202": {
            "description": "Успешно",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "500": {
            "description": "Внутренняя ошибка",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Responses"
        ],
        "summary": "Один код состояния - несколько ответов",
        "description": "Несколько возвращаемых ответов для одного кода состояния",
        "operationId": "Responses_Variants_Post",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "400": {
            "description": "Неверный запрос",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  }
                }
              },
              "application/xml": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "error": {
                      "type": "string"
                    }
                  },
                  "xml": {
                    "name": "root"
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/Types/Array": {
      "description": "Array",
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Ограничения",
        "description": "Возможные варианты описаний ограничений для массива",
        "operationId": "Types_Array_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "array1": {
                      "type": "array",
                      "description": "Не пустой массив",
                      "items": {
                        "type": "boolean"
                      },
                      "minimum": 1
                    },
                    "array2": {
                      "type": "array",
                      "description": "Массив состоит максимум из 10 элементов",
                      "items": {
                        "type": "string"
                      },
                      "maximum": 10
                    },
                    "array3": {
                      "type": "array",
                      "description": "Массив от 5 до 10 элементов",
                      "items": {
                        "type": "string",
                        "format": "datetime"
                      },
                      "minimum": 5,
                      "maximum": 10
                    },
                    "array4": {
                      "type": "array",
                      "description": "Не пустой массив из положительных чисел",
                      "items": {
                        "type": "number",
                        "format": "double",
                        "minimum": 1
                      },
                      "minimum": 1
                    },
                    "array5": {
                      "type": "array",
                      "description": "Массив булевых массивов, максимум из 2-х элементов",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "boolean"
                        },
                        "maximum": 2
                      },
                      "minimum": 1
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Types"
        ],
        "summary": "Массивы",
        "description": "Возможные варианты описания массивов",
        "operationId": "Types_Array_Post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "any_types": {
                      "type": "array",
                      "items": {}
                    },
                    "binaries": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "binary"
                      },
                      "example": [
                        "D0A5D183D0B9"
                      ]
                    },
                    "booleans": {
                      "type": "array",
                      "items": {
                        "type": "boolean"
                      },
                      "example": [
                        false
                      ]
                    },
                    "dates": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "date"
                      },
                      "example": [
                        "2024-12-31"
                      ]
                    },
                    "datetimes": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "format": "datetime"
                      },
                      "example": [
                        "2024-12-31T23:59:59"
                      ]
                    },
                    "doubles": {
                      "type": "array",
                      "items": {
                        "type": "number",
                        "format": "double"
                      },
                      "example": [
                        36.6
                      ]
                    },
                    "enums": {
                      "type": "array",
                      "items": {
                        "type": "string",
                        "enum": [
                          "Значение1",
                          "Значение2",
                          "Значение3"
                        ]
                      }
                    },
                    "inner_strings": {
                      "type": "array",
                      "items": {
                        "type": "array",
                        "items": {
                          "type": "string"
                        }
                      },
                      "example": [
                        [
                          "Строка"
                        ]
                      ]
                    },
                    "maps": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "additionalProperties": {
                          "type": "number",
                          "format": "double"
                        },
                        "example": {
                          "1": 1
                        }
                      }
                    },
                    "numbers": {
                      "type": "array",
                      "items": {
                        "type": "integer",
                        "format": "int32"
                      },
                      "example": [
                        100
                      ]
                    },
                    "objects": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Map"
                      }
                    },
                    "strings": {
                      "type": "array",
                      "items": {
                        "type": "string"
                      },
                      "example": [
                        "Строка"
                      ]
                    }
                  }
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      }
    },
    "/Types/Enum": {
      "description": "Other",
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Прочие типы значений",
        "description": "Варианты описания прочих типов:\n- Произвольный тип может быть любым примитивным типом, объектом или массивом\n- Неопределено - тип-маркер,этим типом следует помечать поля, которые могут быть равны null\n- Двоичные данные - двоичные данные файла",
        "operationId": "Types_Other_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "any": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number",
                          "format": "double"
                        },
                        {
                          "type": "integer",
                          "format": "int32"
                        },
                        {
                          "type": "boolean"
                        },
                        {
                          "type": "string",
                          "format": "date"
                        },
                        {
                          "type": "string",
                          "format": "datetime"
                        },
                        {
                          "type": "array",
                          "items": {}
                        },
                        {
                          "type": "object"
                        }
                      ],
                      "nullable": true
                    }
                  }
                }
              }
            }
          },
          "201": {
            "description": "Успешно",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          }
        },
        "deprecated": false
      }
    },
    "/Types/Map": {
      "description": "Primitive",
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Ограничения",
        "description": "Возможные варианты описаний ограничений строковых и числовых типов:\n- Ограничения типов действуют для строки, числа и целого числа",
        "operationId": "Types_Primitive_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "ДеньВГоду": {
                      "type": "integer",
                      "format": "int32",
                      "description": "Свойство с ограничениями на длину числа",
                      "example": 256,
                      "minimum": 1,
                      "maximum": 366
                    },
                    "ИНН": {
                      "type": "string",
                      "description": "Свойство с ограничениями на размер строки",
                      "example": "1234567890",
                      "minLength": 10,
                      "maxLength": 12
                    },
                    "ОтрицательноЧисло": {
                      "type": "number",
                      "format": "double",
                      "description": "Пример отрицательного числа",
                      "maximum": -1
                    },
                    "ПоложительноеЧисло": {
                      "type": "number",
                      "format": "double",
                      "description": "Пример положительного числа",
                      "minimum": 1
                    },
                    "ТемператураТела": {
                      "type": "number",
                      "format": "double",
                      "description": "Свойство с ограничениями на длину числа",
                      "example": 36.6,
                      "minimum": 36.6,
                      "maximum": 42.9
                    }
                  }
                }
              }
            }
          }
        },
        "deprecated": false
      },
      "post": {
        "tags": [
          "Types"
        ],
        "summary": "Примитивные типы",
        "description": "Возможные варианты описаний примитивных типов",
        "operationId": "Types_Primitive_Post",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "boolean": {
                    "type": "boolean",
                    "example": false
                  },
                  "date": {
                    "type": "string",
                    "format": "date",
                    "example": "2024-12-31"
                  },
                  "datetime": {
                    "type": "string",
                    "format": "datetime",
                    "example": "2024-12-31T23:59:59"
                  },
                  "double": {
                    "type": "number",
                    "format": "double",
                    "example": 36.6
                  },
                  "number": {
                    "type": "integer",
                    "format": "int32",
                    "example": 100
                  },
                  "string": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "description": "Успешно"
          }
        },
        "deprecated": false
      }
    },
    "/Types/Structure": {
      "description": "Structure",
      "get": {
        "tags": [
          "Types"
        ],
        "summary": "Структура",
        "description": "Варианты описания структуры:\n- Обязательные свойства структуры помечаются ключевым словом \"Обязательный\"",
        "operationId": "Types_Structure_Get",
        "responses": {
          "200": {
            "description": "Успешно",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "array": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "array_of_num": {
                            "type": "array",
                            "items": {
                              "type": "number",
                              "format": "double"
                            }
                          },
                          "ebum_object": {
                            "$ref": "#/components/schemas/Enum"
                          }
                        }
                      }
                    },
                    "enum": {
                      "type": "string",
                      "enum": [
                        "Один",
                        "Два",
                        "Три"
                      ]
                    },
                    "map": {
                      "type": "object",
                      "additionalProperties": {
                        "type": "number",
                        "format": "double"
                      },
                      "example": {
                        "1": 1
                      }
                    },
                    "object": {
                      "$ref": "#/components/schemas/Object"
                    },
                    "string": {
                      "type": "string",
                      "example": "Строка",
                      "nullable": true
                    }
                  },
                  "required": [
                    "string"
                  ]
                }
              }
            }
          }
        },
        "deprecated": false
      }
    }
  },
  "components": {
    "schemas": {
      "Enum": {
        "type": "string",
        "enum": [
          "Один",
          "Два",
          "Три"
        ]
      },
      "HTTPServiceProperties": {
        "type": "object",
        "properties": {
          "Comment": {
            "type": "string",
            "example": ""
          },
          "Name": {
            "type": "string",
            "example": "Services"
          },
          "ReuseSessions": {
            "type": "string",
            "enum": [
              "AutoUse",
              "Use",
              "DontUse"
            ],
            "default": "AutoUse"
          },
          "RootURL": {
            "type": "string",
            "example": "Services"
          },
          "SessionMaxAge": {
            "type": "integer",
            "format": "int32",
            "default": "20"
          },
          "Synonym": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "item": {
                  "$ref": "#/components/schemas/Item"
                }
              }
            }
          }
        }
      },
      "Item": {
        "type": "object",
        "properties": {
          "content": {
            "type": "string",
            "example": "Name",
            "xml": {
              "prefix": "v8"
            }
          },
          "lang": {
            "type": "string",
            "example": "ru",
            "xml": {
              "prefix": "v8"
            }
          }
        },
        "xml": {
          "namespace": "http://v8.1c.ru/8.1/data/core",
          "prefix": "v8"
        }
      },
      "Map": {
        "type": "object",
        "additionalProperties": {
          "type": "boolean"
        },
        "example": {
          "1": false
        }
      },
      "MethodProperties": {
        "type": "object",
        "properties": {
          "Comment": {
            "type": "string",
            "example": ""
          },
          "HTTPMethod": {
            "type": "string",
            "example": "GET"
          },
          "Handler": {
            "type": "string",
            "example": "RequestGET"
          },
          "Name": {
            "type": "string",
            "example": "Request"
          },
          "Synonym": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "item": {
                  "$ref": "#/components/schemas/Item"
                }
              }
            }
          }
        }
      },
      "Object": {
        "type": "object",
        "properties": {
          "Свойство": {
            "type": "string"
          }
        }
      },
      "URLTemplateProperties": {
        "type": "object",
        "properties": {
          "Comment": {
            "type": "string",
            "example": ""
          },
          "Name": {
            "type": "string",
            "example": "Request"
          },
          "Synonym": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "item": {
                  "$ref": "#/components/schemas/Item"
                }
              }
            }
          },
          "Template": {
            "type": "string",
            "example": "/Request"
          }
        }
      }
    }
  },
  "tags": [
    {
      "name": "Bodies",
      "description": "Раздел \"Тело запроса\""
    },
    {
      "name": "ContentTypes",
      "description": "Типы контента"
    },
    {
      "name": "Descriptions",
      "description": "Раздел \"Описание\""
    },
    {
      "name": "RequestParams",
      "description": "Разделы \"Параметры URL\", \"Параметры запроса\", \"Заголовки\""
    },
    {
      "name": "Responses",
      "description": "Раздел \"Возвращаемые ответы\""
    },
    {
      "name": "Types",
      "description": "Типы значений"
    }
  ]
}